Javascript 打开和关闭导航
我有一个简短的JS代码,可以添加和删除一个类。问题是,它添加了一个类,但从不删除它。我找不到问题。它应该通过单击相同的按钮来添加和删除类Javascript 打开和关闭导航,javascript,jquery,css,class,Javascript,Jquery,Css,Class,我有一个简短的JS代码,可以添加和删除一个类。问题是,它添加了一个类,但从不删除它。我找不到问题。它应该通过单击相同的按钮来添加和删除类 $('.hamburger').on('click', function(){ if (!$(this).hasClass('opened')){ $(this).addClass('.opened'); $('.pop').css({'width' : '550px'}); $('.main').css
$('.hamburger').on('click', function(){
if (!$(this).hasClass('opened')){
$(this).addClass('.opened');
$('.pop').css({'width' : '550px'});
$('.main').css({'margin-right' : '550px'});
}
else{
$(this).removeClass('opened');
$('.pop').css({'width' : '0'});
$('.main').css({'margin-right' : '0'});
}
});
尝试使用Jquery的toggleClass方法,它将添加或删除类
$('.hamburger').on('click', function(){
$(this).toggleClass("main");
});
尝试使用Jquery的toggleClass方法,它将添加或删除类
$('.hamburger').on('click', function(){
$(this).toggleClass("main");
});
您无需将点添加到传递给$(this.addClass)的类字符串中,因此它应该是:
$(this).addClass('opened');
您无需将点添加到传递给$(this.addClass)的类字符串中,因此它应该是:
$(this).addClass('opened');
删除$(this.addClass('.opened')中的“;=>$(此).addClass(“打开”)代码>
对于样式类,还可以使用切换类()删除$(this.addClass('.opened'))中的“.”$(此).addClass(“打开”)代码>
对于样式类,您还可以使用切换类()它,因为您添加了“.opened”而不是opened
也许可以看看切换函数来清理代码。此外,在每次运行时重新蚀刻元素也没有意义
希望这能给你一个关于如何清理和减少重复的好主意
const pop=$('.pop'),
main=$('.main'),
火腿=$('汉堡');
火腿(点击,切换汉堡);
函数toggleHamburger(){
toggleMainStyles(!ham.hasClass('opened')?'550px':0);
}
函数切换主样式(值=0){
css({width:value});
css({marginRight:value});
ham.toggleClass(“打开”);
}
。汉堡包{
颜色:蓝色;
}
.打开{
颜色:红色;
}
火腿
这是因为您添加了“.opened”而不是opened
也许可以看看切换函数来清理代码。此外,在每次运行时重新蚀刻元素也没有意义
希望这能给你一个关于如何清理和减少重复的好主意
const pop=$('.pop'),
main=$('.main'),
火腿=$('汉堡');
火腿(点击,切换汉堡);
函数toggleHamburger(){
toggleMainStyles(!ham.hasClass('opened')?'550px':0);
}
函数切换主样式(值=0){
css({width:value});
css({marginRight:value});
ham.toggleClass(“打开”);
}
。汉堡包{
颜色:蓝色;
}
.打开{
颜色:红色;
}
火腿
您的欢迎如果对您有帮助,请将此答案添加到正确的标签上,以便帮助他人:)您的欢迎如果对您有帮助,请将此答案添加到正确的标签上,以便帮助他人:)