我有一个在表格中分组的项目列表,比方说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)
});
你能告诉我我错过了什么或问题在哪里吗?
答案 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