[英]jQuery click event works only once while toggling the sidebar
我正在尝试切换侧边栏,但是它只能工作一次。 我认为查询代码是不言自明的。 虽然我可以根据需要编写HTML代码。
$('.side-menu').on('click', function(){
$('.control-sidebar').addClass('active-sidebar');
$('.side-menu').on('click', function(){
$('.control-sidebar').removeClass('active-sidebar');
});
});
干净的代码解决方案看起来像这样:
$('.side-menu').on('click', function(){
$('.control-sidebar').toggleClass('active-sidebar');
});
我认为您的情况逻辑不正确。
if(!$('.control-sidebar').hasClass('active-sidebar')){...}
当类“ control-sidebar”没有类“ active-sidebar”时,此代码将运行。
在一开始,这种情况就发生了,因此您可以单击.side-menu并将类“ active-sidebar”添加到DOM。 这违反了您的第一个逻辑。
此外,为什么这在您的代码中发生两次?
$('.side-menu').on('click', function(){...}
解决方案:使用切换类:请参阅此https://jsfiddle.net/BeklievParviz/rwnpk0wm/
$('.side-menu').on('click', function(){
$('.control-sidebar').toggleClass('active-sidebar');
});
用户此
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.