javascript - 组合两个点击函数的方法,当一个点击函数有一个窗口大小的if语句时
问题描述
我正在尝试结合两个点击功能来压缩代码,但我不确定如何。谢谢!
$(document).ready(function () {
//when clicking on a link hide the navigation links
$('nav a').click(function () {
if ($(window).width() < 730) {
$('nav').toggleClass('showNav');
$('.navToggle').toggleClass('iconTop');
$('.navToggle').toggleClass('iconMiddle');
$('.navToggle').toggleClass('iconBottom');
}
});
//when clicking on icon hide and show the navigation links
//the icon is only visible when the screen size is less then 730px
$('.navToggle').click(function () {
$('nav').toggleClass('showNav');
$('.navToggle').toggleClass('iconTop');
$('.navToggle').toggleClass('iconMiddle');
$('.navToggle').toggleClass('iconBottom');
});
});
解决方案
像这样的东西会起作用吗?
$('nav a, .navToggle').click(function () {
if ($(this).hasClass('navToggle') || $(window).width() < 730) {
$('nav').toggleClass('showNav');
$('.navToggle').toggleClass('iconTop iconMiddle iconBottom');
}
});
基本上,您检查单击的元素是否具有 class .navToggle
。如果没有,它会在执行操作之前检查窗口大小。
推荐阅读
- android - android sharedpreferences 颜色不起作用
- python - 如果新附加整数的值小于该列表的最大整数,如何清除列表中的所有整数
- gnuplot - 如何控制在 gnuplot 中打印多少 xlabel?
- uicollectionview - UIViewRepresentable 中的 UICollectionView 不会从 onAppear 滚动到项目
- r - 在 R 和 MarkDown 的同一图中绘制两个图,我对过去的答案有疑问
- java - 在另一个片段中使用 Firestore 回调
- flutter - 如何使 PageView 自动播放并且每个项目都有特定的持续时间?
- python - 如何修改我的代码以便将我从 Python 终端上的代码执行的输出提取到 fasta 文件?
- docker-compose - Docker compose抛出无法执行脚本docker-compose
- javascript - 如何使用存储为字符串的日期查询 mongodb