5

我的网站上有 jQuery 自定义内容滚动器,位于div. 内容div有参数("#content").hide()。当div页面加载并且 jQuery 自定义内容滚动器完美运行时,它是可见的。

但是如果div页面加载时内容不可见,则 jQuery 自定义内容滚动条不可见且不起作用。我注意到,当您缩小或放大窗口时,会显示滚动条。我在这个网址上有一个小例子:http ://www.frantatoulen.wz.cz/

问题可能出在哪里?

4

1 回答 1

10

问题是当#content 被隐藏时,插件脚本无法计算内容长度(隐藏元素的维度为零)。因此,脚本假定内容不需要滚动条。

解决方案 A:

您需要在内容切换并可见后调用插件的更新方法(插件主页有使用方法和参数的信息和示例)。在您的 click 函数中,在末尾添加以下内容:

$("#tlacitko").click(function(){
    $("#content").toggle();
    $("#content").mCustomScrollbar("update");
});

注意:当您调整浏览器大小时,滚动条会起作用,因为它会在窗口调整大小事件时自动调用更新方法。

解决方案 B:

您可以简单地将updateOnContentResize选项参数设置为true。每次内容长度更改时,这都会自动调用更新方法:

$("#content").mCustomScrollbar({
    advanced:{
        updateOnContentResize:true
    }
});
于 2012-12-03T15:12:43.100 回答