总体而言,我对 JavaScript 还算陌生,我自己编写了一个脚本,该脚本应该在单击时将类添加到其他类。
现在我遇到的问题是,代码应该仅适用于移动 View (宽度低于 800px),效果很好,但是当我将窗口大小调整到上面的大小时,使用脚本后它仍然处于事件状态。
脚本:
$(document).ready(function() {
if ($(window).width() <=800 ) {
$('.mobileNavButton').click(function() {
$('.mainNav').toggleClass('active');
$('.mobileNavButton').toggleClass('active');
});
$('.hasDropdown').click(function() {
$('.dropdown').toggle('slide');
$('.dropdown').toggleClass('active');
$('.hasDropdown').toggleClass('rotate');
});
$('.hasSubDropdown').click(function() {
$('.subDropdown').toggle('slide');
$('.subDropdown').toggleClass('active');
$('.hasSubDropdown').toggleClass('rotate');
});
}
});
你们都帮了我很多忙! 谢谢!
最佳答案
尝试在 click
处理程序中放置 if
条件,在 if
语句中放置 .toggleClass()
调用
var check = function() {
return $(window).width() <=800
}
$('.mobileNavButton').click(function() {
if (check()) {
$('.mainNav').toggleClass('active');
$('.mobileNavButton').toggleClass('active');
}
});
$('.hasDropdown').click(function() {
if (check()) {
$('.dropdown').toggle('slide');
$('.dropdown').toggleClass('active');
$('.hasDropdown').toggleClass('rotate');
}
});
$('.hasSubDropdown').click(function() {
if (check()) {
$('.subDropdown').toggle('slide');
$('.subDropdown').toggleClass('active');
$('.hasSubDropdown').toggleClass('rotate');
}
});
关于javascript - 仅在移动 View 上运行 JQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36454146/