9

我正在为 div 使用 Jquery nice Scroll bar,但是当 div 的内容动态增加时,它不会显示滚动条。如果我删除漂亮的滚动条,Windows 默认滚动条可以正常工作。谁能帮我解决这个问题?

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();
});

这是我的代码示例。

4

6 回答 6

18

最后这对我有用。

$("#div-to-scroll").scroll(function(){
  $("#div-to-scroll").getNiceScroll().resize();
});
于 2012-08-09T04:37:04.243 回答
11

对我来说只适用于

$("#div-to-scroll").mouseover(function() {
    $("#div-to-scroll").getNiceScroll().resize();
});
于 2012-12-05T17:28:05.133 回答
2

更新:发现新功能!

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

调用这个函数来更新 niceScroll

setScroll(".classWithNiceScroll");
于 2014-02-01T12:44:27.507 回答
1

一些可能的原因:
1-也许你忘了指定你的 div 高度。修复你的 div 高度。
2-如果你的 div 在宽度上浮动,也可以修复该宽度。
请记住,您的 DIV STYLE 应该具有:overflow-y: hidden;
UPDATE
每次向下滚动时尝试使用 resize() 函数:

$("div-to-scroll").slideDown(function(){
  $("div-to-scroll").getNiceScroll().resize();
});
于 2012-08-08T11:10:35.713 回答
1
$("html").mouseover(function() {
    $("html").getNiceScroll().resize();
});

获取全身滚动条

于 2013-07-17T08:00:25.203 回答
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]之后注意getNiceScroll()

于 2014-10-13T13:13:33.507 回答