jQuery的toggleClass仅适用于一秒钟,然后恢复到它以前怎么回事(jQuery togg

2019-10-23 01:04发布

所以这是我曾经在计算器的第一个问题,对不起,如果我问这个不好或者没能在别处找到了答案。

我用一个简单的toggleClass jQuery函数添加一个类调用.slide出,让整个机身左侧:30%的价值。 如果我手动添加类它工作正常。 但是,如果使用的toggleClass功能要添加的类别是滑动全身超过30%,就像我预期,但马上移动身体恢复到正常位置。 它有点闪烁及以上,然后再次闪烁出现30%,是回到它在哪里。

我的JS代码封装在一个文件准备功能,我还没有发现任何语法错误。

JS:

$( document ).ready(function() {

  $("#main-menu-btn").click(function() {
      $('body').toggleClass("slide-out");
  });

});

上海社会科学院:

body
    height: 100%
    position: relative
    left: 0

.slide-out
    left: 30%

玉:

doctype html
html(lang="en")
    head
      title jade
      meta(charset="utf-8")
      meta(name="viewport", content="width=device-width, initial-scale=1")
      link(rel="shortcut icon", href="/assets/img/favicons/favicon.ico")  
      link(rel="stylesheet", href="/assets/css/main.css")

    body(class="slide-out")

        .logo
        h1 Whole Life Sports
        .main-menu
            ul
                li Home
                li Stuff
                li Things
        .page-nav
            nav
                a(href="", id="main-menu-btn") Main Menu
                a(href="") Home
                a(href="") Kids Games
                a(href="") Max Sport Camp
                a(href="") The Big Think


    script(src="/assets/js/jquery-2.1.1.min.js")
    script(src="/assets/js/functions.js" type="text/javascript")

Answer 1:

采用:

 $("#main-menu-btn").click(function(event) {
      $('body').toggleClass("slide-out");
      event.preventDefault();
  });

或返回false的单击事件。

请参阅: http://api.jquery.com/event.preventdefault/



文章来源: jQuery toggleClass only works for a split second, then it reverts back to how it previously was