2014-04-07 40 views
-1

我有一些內容顯示爲div內的列表。默認情況下,DIV是隱藏的,但一旦它的父有類」。開‘變爲可見:jScrollPane零下拉菜單上的高度

<li class="dropdown"> 
    <a>Options</a> 
    <div class="dropdown-menu"> 
     <div class="menu-scroll"> 
      <ul> 
       <li>...</li> 
       <li>...</li> 
       <li>...</li> 
      </ul> 
     </div> 
    </div> 
</li> 

當我點擊列表項目中的錨發生的是,該列表項接收’。開「類,它可以顯示」.dropdown-menu「。現在我的問題是,我想讓菜單的最大高度爲200px,之後它應該初始化滾動。考慮到每一個它的列表項是50像素高,我們有這些scennarios:

  • 2列表項的100px的高度,沒有滾動
  • 3列表項中,爲150px高度,沒有滾動
  • 4列表項中,200像素高,沒有滾動
  • 5+列表項,超過200像素,並滾動

這意味着我不能爲。菜單滾動一個固定的高度,因爲我想要的高度它要擴展到達到那個高度。我做的是設置:

max-height: 200px; 
height: auto; 

它完美的作品我第一次觸發的下拉菜單但後來它使一切都錯了,是這樣的:

Wrong behaviour starts with second dropdown trigger

我已經試過:

  1. 當單擊切換.open類的錨時初始化jScrollpane。
  2. 在文檔準備好時初始化jScrollpane,並在單擊同一個錨點時僅重新初始化對象。

結果每次都是一樣的,如上圖所示。我搜索了文檔,常見問題,StackOverflow,谷歌組,但無濟於事。有沒有人對此有任何線索?

編輯:這是代碼,我用它來觸發下拉列表並初始化滾動:

$('.dropdown-toggle').on("click", function() { 
    $(this).parent('.dropdown').toggleClass('open').find('.dropdown-menu').jScrollPane(); 
}); 

什麼。開類做的就是添加

.dropdown.open .dropdown-menu { 
    display: block; 
} 

到否則隱藏。下拉菜單:

.dropdown.dropdown-menu { 
    display: none; 
} 

回答

0

,如果你得到它的權利F上首先觸發,然後失敗後,這意味着你必須檢查你的腳本。你可以在這裏發表你的劇本嗎?