2013-02-02 245 views
0

我正在使用名爲Tiny Scrollbar的自定義滾動條插件。滾動條內有手風琴式導航。自定義jQuery滾動條

我的問題是滾動條不更新導航高度更改時,任何人有任何想法?我在想每個點擊都可能有某種形式的Ajax更新,但是我沒有Ajax的經驗,所以我不知道。這是導航的代碼。

<div id="nav-container"> 
    <div class="scrollbar"> 
    <div class="track"> 
     <div class="thumb"> 
     <div class="end"></div> 
     </div> 
    </div> 
    </div> 
<div class="viewport"> 
    <div class="overview"> 
    <nav class="main"> 

    <div class="menu-item"> 
     <h4><a href="#">Inledning</a></h4> 
     <ul> 
      <li><a href="#">Link 1</a></li> 
      <li><a href="#">Link 2</a></li> 
      <li><a href="#">Link 3</a></li> 
     </ul> 
    </div> 

    </nav> 
    </div> 
</div> 
</div> 

的jQuery:

$(document).ready(function() { 
var $ul = $('ul'); 

$("h4").click(function() { 
    $("h4").removeClass("menu-selected"); 
    $ul.hide("blind", 1000); 
$(this).toggleClass("menu-selected"); 
    $(this).next().show("blind", 1000); 
}); 

$("li").click(function() { 
    $("li").removeClass("select"); 
    $(this).addClass("select"); 
    }); 
}); 
+0

你看過微型滾動條的更新方法tinyscrollbar_update()嗎? – Harish

+1

呵呵,AJAX你只會在從外部文件或頁面添加內容時使用,你不需要在這裏使用它。 – dev

回答

1

在微小的滾動條的網站,它說的是,當添加新的內容需要更新保持容器。例如

//The update method can be used for adjusting a scrollbar to its new content. 
var yourScrollBar = $('nav-container'); 
yourScrollBar.tinyscrollbar(); 

//The below function would be called when updating the content. 
yourScrollBar.tinyscrollbar_update(); 

上面的代碼是從plugin website.

例如與您的代碼的例子。

$("h4").click(function() { 
    $("h4").removeClass("menu-selected"); 
    $ul.hide("blind", 1000); 
    $(this).toggleClass("menu-selected"); 
    $(this).next().show("blind", 1000); 
    yourScrollBar.tinyscrollbar_update(); <-------- Here. 
}); 
+0

不能得到這個工作,試圖把var yourScrollBar放在文檔的外部和內部準備好,而_update正是你放置它的地方。但沒有任何反應。 :/ – justanotherhobbyist

+0

'var yourScrollBar'位只是爲了聲明一個新的滾動條......你應該已經完成​​了這個工作,以便它在第一時間工作?您需要添加的唯一一點是點擊函數'** YourDeclaredScrollBar **。tinyscrollbar_update();'。 – dev

+0

雖然我可能是錯誤的:)有一個閱讀的網站,這是我從哪裏得到更新位。 – dev