浏览器滚动条没有'使用slimwoll时有时不起作用

Browser scrollbar doesn't work sometimes when using slimscroll

本文关键字:使用 slimwoll 不起作用 滚动条 浏览器      更新时间:2023-09-26

我正在使用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无关。

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

我认为问题在某种程度上是slimScroll处理滚轮事件-它附加到窗口元素,所以当您重新创建包装html时,您会删除以前的可滚动元素,但鼠标滚轮处理程序会保留下来,并阻止窗口滚动。因此,理论上,在更新包装器html之前,您必须销毁自定义滚动条,然后重新创建滚动条。但在实际操作中,slimScroll并没有销毁方法。

还有很多其他滚动条插件你可以尝试:jQuery滚动条、jScrollPane、Malihu自定义滚动条和其他。。。您可以在此处比较它们的功能