2012-12-27 36 views
1

我正在使用jQuery的效果,其中一個懸停在側欄上,它顯示導航欄,但導航本身有一些效果屬性,以便當一次點擊一個dd它顯示了3個孩子dt並隱藏了其餘的內容,但是它目前僅顯示第一個dt並隱藏了其餘的內容......並且爲什麼close方法在此處不起作用。使用旁邊選擇一個特定的HTML標記的多個孩子

<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> 
+0

你能否澄清你的問題?你在問爲什麼第二個和第三個'

'標籤沒有被顯示? –

+1

我真的沒有看到使用像這樣的對象字面值的任何優勢,只是應用常規的jQuery方法,並且如果您以常規方式編寫它,它可能會更易於追蹤錯誤和更易讀,而且即將到來來自喜歡對象文字的人! – adeneo

+0

看到引用的代碼,我可以只說:http://jsbeautifier.org/ –

回答

1

在您的JavaScript代碼中刪除尾隨})();。這會導致JavaScript錯誤,導致您的代碼無法運行。

+0

trailing})();是從一個自我調用功能,我忘了粘貼在發佈的問題 –

+0

然後請清理你的問題中的代碼。如果需要CSS,請添加。我無法從你的代碼中知道應該發生什麼。 – Blazemonger

相關問題