2012-08-08 51 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