如果单击,菜单切换添加间距(边距)

时间:2017-10-12 20:20:50

标签: jquery css margin spacing

知道为什么我的代码不能按原样运行吗?如果我在移动导航切换时前两次点击它,它可以正常工作,但第三次没有按我的意愿添加边距。

jQuery(document).ready(function($){
  $("#site-navigation.main-navigation").click(function(){
    $("#page").css("margin-top", "285px");
  });

  $("#site-navigation.main-navigation.toggled").click(function(){
    $("#page").css("margin-top", "0px");
  });
});

2 个答案:

答案 0 :(得分:2)

#site-navigation.main-navigation具有“.toggle”类时,您的两个事件同时触发。这不是你想要的。这段代码可以满足您的需求。

jQuery(document).ready(function($){
    $("#site-navigation.main-navigation").click(function(){
        if ( $(this).hasClass('toggled') ) {
            $("#page").css("margin-top", "0px");
        } else {
            $("#page").css("margin-top", "285px");
        }
    });
});

答案 1 :(得分:0)

切换CSS类。



document.getElementById("foo").addEventListener("click", function(e) {
  this.classList.toggle("bump-it");
});

.bump-it{
  margin-left:24px;
}

<button id="foo">
click me
</button>
&#13;
&#13;
&#13;