我几周来一直在努力解决这个问题,我已经在这个网站和其他网站上研究过几十个帖子。我有一个非常基本的问题。我有一个DIV标记#scrollarea
,可以在一个Web应用程序中动态创建,在运行中多次销毁和重新创建。我的问题是niceScroll功能仅适用于ONCE。第二次尝试后,我不再获得控件
我尝试了几种技术,包括resize()
方法,但没有任何效果。我还安装了一个调节器,确保它只安装一次,然后resize()
'。再一次,没有任何作用
在这里演示是非常困难的,因为我的代码被锁在安全门后面,并且它是通过脚本触发的。
有没有人建议如何做到这一点?要审核:
#scrollarea
#scrollarea
已安装到DIV
niceScroll
附加到#scrollarea
ONCE并且工作正常#scrollarea
被NEW scrollarea取代尝试的方法:
niceScroll
到达时安装#scrollarea
niceScroll
ONCE,永不再安装niceScroll
ONCE,然后发出getNiceScroll().resize()
.mouseover()
- > .resize()
技术所有技术都无法在第二次使用时呈现可用的滚动条。
答案 0 :(得分:6)
更新:找到新功能!
var setScroll = function(i) {
if($(i).length>0)
$(i).niceScroll().updateScrollBar();
}
调用此函数以更新niceScroll
setScroll(".classWithNiceScroll");
----- 旧方法 -----
使用此而不是调整大小
$("idORclass").getNiceScroll().remove()
$("idORclass").nicescroll();
答案 1 :(得分:0)
脚本再次激活,#scrollarea被NEW scrollarea替换
你是什么意思?是你的#scrollarea
从DOM中移除了,是否插入了一个新的?或者您是否更换了其内容,例如$('#scrollarea').html( blabla )
?
你试过$(window).trigger('resize')
吗? nicescroll似乎关注调整大小事件,但不关注DOM更改。
答案 2 :(得分:0)
我在使用空div时遇到类似问题,我可以在触发某些事件时添加动态内容,但是,在添加内容时,滚动条不会出现。我通过预先填充滚动条div与另一个空div来实现它的工作,其高度溢出了div,我有滚动条。