Tiny Scrollbar问题j.obj [0]未定义

时间:2013-09-16 14:13:44

标签: javascript jquery jquery-plugins tinyscrollbar

我想在很多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>

1 个答案:

答案 0 :(得分:1)

感谢zgood和Archer的帮助

为了总结这个问题的答案,这一切都归结为两个重要的部分:

  1. 结束How to load Jquery Tiny scrollbarhttp://baijs.nl/tinyscrollbar/ CLOSELY,因为很容易错过你必须拥有的wrap-atound div(使用正确的类名等等)来实现这项功能。< / p>

  2. Tiny Scrollbar只能读取ID。因此,如果您像我一样获得动态内容,则必须遍历该类并创建您设置.tinyscrollbar()的ID;到。

  3. 这是我的代码:

    $( 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; }