如何在javascript中的2个函数中使用布尔值
当前情况:当我关闭菜单时,单击菜单中的任何链接。我的菜单关闭,但我的按钮仍显示“关闭”类。我想删除页面上任何单击的“close”类。但如果菜单已关闭,也要检查布尔值如何在javascript中的2个函数中使用布尔值,javascript,jquery,function,button,boolean,Javascript,Jquery,Function,Button,Boolean,当前情况:当我关闭菜单时,单击菜单中的任何链接。我的菜单关闭,但我的按钮仍显示“关闭”类。我想删除页面上任何单击的“close”类。但如果菜单已关闭,也要检查布尔值 不知何故,我的身体点击功能做得不正确。。检查并移除交叉按钮。无需标记。您可以检查是否有任何按钮具有类关闭,如下所示。另外,将整个代码转换为使用jQuery 请参阅代码中的内联注释 var anchor = document.querySelectorAll('button'); var menuOpen = false; [].f
不知何故,我的身体点击功能做得不正确。。检查并移除交叉按钮。无需
标记。您可以检查是否有任何按钮
具有类关闭
,如下所示。另外,将整个代码转换为使用jQuery
请参阅代码中的内联注释
var anchor = document.querySelectorAll('button');
var menuOpen = false;
[].forEach.call(anchor, function(anchor) {
anchor.onclick = function(event) {
event.preventDefault();
if (menuOpen == false) {
this.classList.add('close');
menuOpen = true;
} else {
this.classList.remove('close');
menuOpen = false;
}
}
});
$('body').on("click", function(e) {
if (menuOpen == true) {
document.getElementById("cross").classList.remove('close');
menuOpen = false;
}
});
嗨,Tushar,当我在iphone6模拟器中使用chrome进行预览时,不知怎么的,它不起作用。这应该发生吗?实际上不仅仅是iPhone 6。@JamesTan不信任模拟器,他们只是给你和deviceHi Tushar一样的分辨率,我只是在真正的设备上测试了一下,它真的不起作用。有解决办法吗?这些设备也可以使用吗?嗨,Tushar,它现在在任何设备上都不起作用。仅适用于浏览器:(您对此有任何解决方法吗?@JamesTan您是否在控制台中看到任何错误。使用远程调试
调试您的问题。
// On all button click
$('button').on('click', function(e) {
e.preventDefault();
e.stopPropagation(); // Prevent event bubbling
$(this).toggleClass('close'); // Toggle class 'close' of the clicked button
});
// On body click
$('body').on('click', function() {
if ($('button.close').length) { // Check if any button is having class 'close'
// ^^^^^^^^^^^^^^^^^^^^^^^^^^
$('#cross').removeClass('close'); // Remove 'close' class of '#cross'
}
});