1

我正在使用 jquery 制作效果,其中一个悬停在侧栏上并显示导航栏,但导航本身具有一些效果属性,因此当单击一个时dd,它会显示 3 个孩子dt并隐藏其余的但目前它只显示第一个 dt 并隐藏其余部分......为什么 close 方法在这里不起作用是代码。

<html>
 <head>
<title></title>
<script src="Jquery.js">
</script>
  </head>
  <body>
<div class="nav">
    <dl>
        <dt>
            <dd>One</dd>
            <dd>Two</dd>
            <dd>Three</dd>
        </dt>
        <dt>
            <dd>Four</dd>
            <dd>Five</dd>
            <dd>Six</dd>
        </dt>
        <dt>
            <dd>Seven</dd>
            <dd>Eight</dd>
            <dd>Nine</dd>
        </dt>
    </dl>
</div>  
<div class="sideBar"></div>
<script type="text/javascript">
    var Sides={ 
   sideBar:$("div.sideBar"),
    nav:$("div.nav"),
    dd:$("div.nav dd"),
     dt:$("div.nav dt"),
     init:function  () {

    Sides.sideBar.on("mouseenter",this.show);
    },
    show:function  () {
    Sides.nav.close.call(nav);
    Sides.nav.fadeIn(2000).filter(":nth-child(n+8)").hide();
    Sides.dd.on("click",function  () {
        Sides.dd.next("dt").slideDown(500).siblings("dt").hide();
    })
  },
  close:function  () {
    Sides.nav.on("mouseleave",function  () {
        $(this).fadeOut(1400)
    })
    }
     }
       Sides.init();

  </script>

      </body>
      </html>
4

1 回答 1

1

删除})();JavaScript 代码中的尾随。它会导致阻止您的代码运行的 JavaScript 错误。

于 2012-12-27T18:52:38.317 回答