我需要一个自定义滚动条插件用于个人项目(“自定义”我指的是基本惯性效果,自定义图像等)。我的选择是mCustomScrollbar。
文档确实非常清楚,我在实现脚本时没有遇到任何问题,但它似乎只在我调整页面大小时才有效,就好像不需要滚动一样。
事实上,滚动条在完全加载的页面上有style="display: hidden"
,就像在question中一样(但我找不到任何有用的答案)。
我相信有一些height
问题与slidesjs
相关联(我也在使用),但我找不到它......这里有一些代码:
(There's整个页面,所以你可以用firebug查看代码......只需在“Pulcini”下查看长内容)
<head>
<!-- everything is included -->
<link href="css/style.css" type="text/css" rel="stylesheet" />
<link href="css/jquery.mCustomScrollbar.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="js/jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="js/jquery.mCustomScrollbar.js"></script>
<script>
$(function(){
$("#slides").slides({
generatePagination: false,
pagination: true,
paginationClass: 'pagination'
});
});
</script>
<script>
(function($){
$(window).load(function(){
$("#slide2").mCustomScrollbar();
});
})(jQuery);
</script>
</head>
<body>
<div id="slides">
<!-- other stuff -->
<div class="slides_container">
<div id="slide1">
<h2>Uova</h2>
<p>Text1...</p>
</div>
<!-- slide2 is the scrollbar div -->
<div id="slide2">
<h2>Blabla</h2>
<p>Lorem ipsum</p><br />
</div>
</div>
</div>
</body>
CSS:
div#slides {
height: 506px;
}
.slides_container {
width: 900px;
height: 506px;
}
.slides_container, div#slide1, div#slide2, div#slide3, {
width: 808px;
height: 366px;
display: block;
float: left;
overflow-y: auto;
}
.slides_container {
margin-top: 30px;
margin-bottom: 30px;
height: 366px;
}
答案 0 :(得分:16)
我有同样的问题。所以我更改了updateOnBrowserResize: true
和updateOnContentResize: true
的流畅代码,现在它适用于所有javascript。
(function($) {
$(window).load(function() {
$("#content_1").mCustomScrollbar({
scrollEasing:"easeOutCirc",
mouseWheel:"auto",
autoDraggerLength:true,
advanced:{
updateOnBrowserResize:true,
updateOnContentResize:true
} // removed extra commas
});
});
})(jQuery);
答案 1 :(得分:3)
您正在初始化mCustomScrollbar,而其容器仍处于隐藏状态,因此浏览器无法计算div的高度。当div变为可见时,您需要触发调整大小事件,或者在页面首次变为活动状态之前不要初始化滚动条。
答案 2 :(得分:0)
http://manos.malihu.gr/jquery-custom-content-scroller/
这是自定义滚动条的非常好的链接我也在我的项目中使用此插件,您可以轻松地自定义它,嵌套滚动条也可以在此处使用。