我想在很多div上使用相同的滚动条,但似乎我总是得到同样的错误: j.obj [0]未定义,在tinyscroll.js文件中。 我应该怎么做的任何线索? tinyscroll.js在jQuery之后和之前加载 我的js文件,我调用.tinyscrollbar();
JS:
$(window).load(function(){
if ($("#scrollbar1"))
{
$("#scrollbar1").tinyscrollbar();
$("#scrollbar1").tinyscrollbar_update();
}
});
HTML:
<div id="scrollbar1" class="prod_minitext"><p>
<?php echo $post_naringsvarde; ?>
</p></div>
答案 0 :(得分:1)
感谢zgood和Archer的帮助
为了总结这个问题的答案,这一切都归结为两个重要的部分:
结束How to load Jquery Tiny scrollbar和http://baijs.nl/tinyscrollbar/ CLOSELY,因为很容易错过你必须拥有的wrap-atound div(使用正确的类名等等)来实现这项功能。< / p>
Tiny Scrollbar只能读取ID。因此,如果您像我一样获得动态内容,则必须遍历该类并创建您设置.tinyscrollbar()的ID;到。
这是我的代码:
$( document ).ready(function() {
$('.prod_minitext').each(function( index ) {
$(this).attr('id', 'scrollbar' + index);
});
scrollify();
});
function scrollify () {
$('.prod_minitext').each(function() {
var currentScroll = $(this).attr('id');
console.log($('#' + currentScroll));
$('#' + currentScroll).tinyscrollbar();
$('#' + currentScroll).tinyscrollbar_update();
});
}
另外,不要忘记.tinyscrollbar(); div被隐藏时不起作用,所以当它可见时你必须运行scrollify()函数。
修改强>
CSS代码必须与班级中的每个人相同,而不仅仅是#rollbar1,因为它在Tiny Scrollbar页面上。我做了一些自定义调整,但我的CSS看起来像这样:
.prod_minitext {
position:absolute;
bottom:10px;
right:0;
width:320px;
clear: both;
}
.prod_minitext .viewport { width: 320px; height: 60px; overflow: hidden; position: relative; }
.prod_minitext .overview { list-style: none; position: absolute; left: 0; top: 0; }
.prod_minitext .thumb .end,
.prod_minitext .thumb { background-color: #A2D7E5; }
.prod_minitext .scrollbar { top:60px; position: relative; float: right; width: 10px; }
.prod_minitext .track { background-color: #D8EEFD; height: 100%; width:8px; position: relative; padding: 0 1px; }
.prod_minitext .thumb { height: 20px; width: 8px; cursor: pointer; overflow: hidden; position: absolute; top: 0; }
.prod_minitext .thumb .end { overflow: hidden; height: 5px; width: 8px; }
.prod_minitext .disable{ display: none; }
.noSelect { user-select: none; -o-user-select: none; -moz-user-select: none; -khtml-user-select: none; -webkit-user-select: none; }