使用slimscroll时,浏览器滚动条有时不起作用

时间:2014-04-19 05:40:55

标签: javascript jquery jquery-ui web slimscroll

我正在使用jquery.slimscroll来替换浏览器的原生滚动条。

我发现有时使用它会导致浏览器的原生滚动条无法响应鼠标滚动。

一个这样的案例: 与jqueryui一起使用可对元素进行排序。 不知何故,在重新渲染元素后,浏览器滚动条停止工作。 我可以在每个浏览器中始终如一地重现这一点,然后我写一个jsfiddle来重现它:

Fiddle

function rerender(){
$("#wrapper").html($("#content").html());
$("#container").sortable({axis:"y",stop:function(){
    rerender();
}});
$("#container").slimScroll(
    {railVisible:true, height:"70px",start:"bottom"});
};

rerender();

它发生在其他场合,所以这个问题可能与jqueryui sortable无关。

有没有人看到类似的问题,你是如何解决的?

1 个答案:

答案 0 :(得分:1)

我认为问题在于slimScroll句柄轮事件 - 它附加到窗口元素,所以当你重新创建你的包装器html时,你删除了以前的可滚动元素,但鼠标滚轮处理程序仍然存在并阻止窗口滚动。因此,理论上你必须在更新包装器html之前销毁自定义滚动条,然后重新启动滚动条。但实际上,slimScroll没有破坏方法。

您可以尝试很多其他滚动条插件:jQuery ScrollbarjScrollPaneMalihu Custom Scrollbar和其他...您可以比较他们的功能here