2 回答
TA贡献1797条经验 获得超6个赞
试试这个
var my_time;
$(document).ready(function() {
pageScroll();
$("#contain").mouseover(function() {
clearTimeout(my_time);
}).mouseout(function() {
pageScroll();
});
$('#contain').bind('scroll', function()
{
if($(this).scrollTop() + $(this).innerHeight()>=$(this)[0].scrollHeight)
{
pageScroll();
}
})
});
function pageScroll() {
var objDiv = document.getElementById("contain");
objDiv.scrollTop = objDiv.scrollTop + 1;
$('p:nth-of-type(1)').html('scrollTop : '+ objDiv.scrollTop);
$('p:nth-of-type(2)').html('scrollHeight : ' + objDiv.scrollHeight);
if (objDiv.scrollTop == (objDiv.scrollHeight - 100)) {
objDiv.scrollTop = 0;
}
my_time = setTimeout('pageScroll()', 25);
}
TA贡献1811条经验 获得超5个赞
该行:
objDiv.scrollTop = 0
是什么应该重置滚动位置,使用您已评论的 if 语句仅在完成向上滚动后执行它。注释掉 if 语句后,表格根本不应该滚动,因为 pageScroll 函数将始终将 scrollTop 属性设置为 0。
尝试取消注释 if 语句,并确保在比较中从 objDiv.scrollHeight 中减去容器的高度。
添加回答
举报
