需要帮助在jquery中实现圆形垂直滚动条

时间:2012-09-28 16:38:34

标签: jquery scroll

我有一个在表格中分组的项目列表,比方说30,我想要做的是以下内容:

  • 从下到上自动垂直滚动,无需点击按钮或鼠标事件

这是我使用的代码:

        function scrolling(){
            $('#scrollup table').animate(
            { 
                top: '-=10'
            },
            1000,
            'linear',
            function(){

                      if($('#scrollup table  tr:last').offset().top<0){
                     $('#scrollup table  tr:first').remove();   
                    $('#scrollup table  tr:last').after('<tr>'+$('#scrollup table  tr:first').html()+'</tr>');
                }
            }
        );
        }
        $(document).ready(function(){
            setInterval('scrolling()',200)
        });

你能告诉我我错过了什么或问题在哪里吗?

1 个答案:

答案 0 :(得分:2)

查看此代码:

  function scrolling(){
        var table = $('#scrollup table');
        table.animate(
        { 
            top: '-=5'
        },
        200,
        'linear',
        function(){                
            if($('#scrollup table tr:first').height() <= -parseFloat(table.css("top"))){
                 $('#scrollup table').css("top", 0);
                 $('#scrollup table  tr:last').after($('#scrollup table tr:first').detach());
            }
        }
    );
    }
    $(document).ready(function(){
        setInterval('scrolling()',200)
    });​

它工作正常(demo),但只有当所有行都具有相同的高度时才会好。我正在努力找到更好的解决方案,它将适用于差异高度行。基本上,您的代码问题在于您始终向上移动表(使用.animate),但删除第一行并将其添加到表的末尾(因此表高度不会增长)

<强> UPD 更新代码以使用差异高度线。 Demo