我有一个奇怪的问题。我之前使用过toggleClass并且工作得很好。但是现在只有'class'属性被添加到元素但没有实现类。像这样:
$("#slideButtonMenu").click(function(){
$("#sidebar").toggleClass("slideLeft");
});
.slideLeft {
left: -220px;
}
这是我在检查元素时得到的。在点击“#slideButtonMenu”之前:
<aside id="sidebar"> == $0
单击按钮时/之后:
<aside id="sidebar" class> == $0
首次点击后想要的结果:
<aside id="sidebar" class="slideLeft"> == $0
我真的不知道== $0
的意思,但我认为它不会影响这一点。如果我将toggleClass更改为addClass,它会成功添加类...但是我显然无法再将菜单滑回。
答案 0 :(得分:2)
正如@Rory McCrossan和@Turnip所说,我的点击被错误地绑定了。
答案是添加unbind(),如下所示:
$("#slideButtonMenu").unbind().click(function(){
$("#sidebar").toggleClass("slideLeft");
});
立即行动!
编辑: 根据@Turnip的说法,如果我的代码的所有内容都正确完成,那么就不需要了,但是现在我只是为了我的POC tmrw而选择YOLO。
EDIT2: 好的,找到了错误。我确实加载了这个脚本两次:
$("#slideButtonMenu").click(function(){
$("#sidebar").toggleClass("slideLeft");
});
更改后,只有在没有.unbind()
的情况下才能加载