2012-08-08 101 views
7

我使用jquery很好滾動條爲div,但當div的內容動態增加時,它不顯示滾動條。 Windows默認滾動條工作正常,如果我刪除漂亮的滾動。 任何人都可以幫我解決這個問題嗎?Jquery尼斯滾動不起作用

的Html

<div id="div-to-scroll"> 
</div> 

腳本

$(document).ready(function(e) { 
    var nice = $("#div-to-scroll").getNiceScroll(); 
    $("#div-to-scroll").niceScroll(); 
    $("#div-to-scroll").getNiceScroll().resize(); 
}); 

這是我的代碼示例。

+0

你能展示你的解決方案嗎? – stetro 2012-08-08 10:35:24

+0

我沒有解決方案。 – gaurang171 2012-08-08 10:39:01

+0

sry ;-)我對當前代碼狀態進行了修改:-) – stetro 2012-08-08 10:46:59

回答

16

最後,這對我的作品。

$("#div-to-scroll").scroll(function(){ 
    $("#div-to-scroll").getNiceScroll().resize(); 
}); 
1

一些可能的原因:
1-也許你忘了指定你的div高度。修復你的div高度。
2-也如果你的div在寬度上浮動也修復該寬度。
Remmember你的DIV風格應該有:overflow-y: hidden;
UPDATE
嘗試使用調整()函數每次向下滾動時間:

$("div-to-scroll").slideDown(function(){ 
    $("div-to-scroll").getNiceScroll().resize(); 
}); 
+0

是的,我所做的一切。事情是當窗口加載它的作品,但在我開始追加內容不工作。 – gaurang171 2012-08-08 11:28:24

+0

@ keyuratcodebins.com追加內容後會發生什麼?它停止滾動還是同時顯示所有內容? – osyan 2012-08-08 12:11:23

+0

它停止滾動 – gaurang171 2012-08-08 12:13:59

9

對我的作品只是

$("#div-to-scroll").mouseover(function() { 
    $("#div-to-scroll").getNiceScroll().resize(); 
}); 
+0

'mouseover'從哪裏來? – Blazemonger 2012-12-05 17:45:43

1
$("html").mouseover(function() { 
    $("html").getNiceScroll().resize(); 
}); 

要獲取滾動條上全身

+0

第二行有一個額外的'#'。 – Raptor 2015-08-25 09:24:30

+1

@Raptor是的,只需按照語法。 (選擇器在這裏是不重要的) – 2015-08-25 11:37:24

2

更新:新功能找到了!

var setScroll = function(i) { 
     if($(i).length>0) 
     $(i).niceScroll().updateScrollBar(); 
} 

調用此函數來更新niceScroll

setScroll(".classWithNiceScroll"); 
1

這樣做:

// Scroll X Axis 
$("#mydiv").getNiceScroll()[0].doScrollLeft(x, duration); 
// Scroll Y Axis - 
$("#mydiv").getNiceScroll()[0].doScrollTop(y, duration); 

或:

// Scroll X Axis 
$("#mydiv").getNiceScroll(0).doScrollLeft(x, duration); 
// Scroll Y Axis - 
$("#mydiv").getNiceScroll(0).doScrollTop(y, duration); 

注意[0]

+0

這對我有用。 – Banago 2014-10-27 09:50:49