2013-02-02 291 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