如果在DIV的底部,则更新JQuery

时间:2012-07-31 17:13:28

标签: javascript jquery

我有这个功能,它本身工作正常,但每当我向上滚动时它会向下滚动,这是不可取的。 我希望它仅在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/

2 个答案:

答案 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;
  }
});