我有这个功能,它本身工作正常,但每当我向上滚动时它会向下滚动,这是不可取的。 我希望它仅在div(溢出)的滚动条位于底部时才运行该函数,这样就可以向上滚动而不向后滚动,从而阻止查看旧消息。
function opdaterPost(til, fra){
$('#beskeder_vis').load('calls/opdater_post.php?til=' + til + '&fra=' + fra);
$("#beskeder_vis").animate({ scrollTop: $("#beskeder_vis").prop("scrollHeight") }, 1500);
}
这是一个显示聊天框的jsfiddle http://jsfiddle.net/w989Y/
答案 0 :(得分:0)
您可以通过以下方式检查div是否滚动到底部:
if ($("divID").get(0).scrollHeight - $("divID").scrollTop() == $("divID")outerHeight()) { ... }
答案 1 :(得分:0)
看起来你正试图像Facebook自动收报机一样工作。当您滚动到底部时,添加到outerheight
的容器的scrollTop
(容器已滚动的数量)应该为您提供总内容高度scrollHeight
。所以做这样的事情:
$("#divId").scroll(function() {
if ($(this).scrollTop() + $(this).outerHeight() == this.scrollHeight)
{
\\do stuff;
}
});