2012-07-31 180 views
0

我正在使用此功能来更新聊天对话。该功能每2秒运行一次。 当我向上滚动时,更新会导致页面自动再次向下滚动,这会阻止我阅读旧消息。我如何防止这种情况?JQuery滚动到底部

function opdaterPost(til, fra){ 
    $('.beskeder_vis').load('calls/opdater_post.php?til=' + til + '&fra=' + fra); 
    $("#beskeder_vis").animate({ scrollTop: $("#beskeder_vis").prop("scrollHeight") }, 1500); 
} 

回答

1

有几种方法,取决于你想要的行为......

  1. 停用滚动动画完全。
  2. 就位置滚动条件......如果($(“#beskeder_vis”)。偏移量=底部),然后动画(所以只有当滚动至底部动画)在
  3. #beskeder_vis的存储内容变量,做负载,然后如果新内容与变量不同,请执行动画(所以它只在出现新内容时动画)
+0

如何找出“底部”是什么? 我将如何继续你的第三个建议? :-) – 2012-07-31 14:16:49

+0

你更喜欢哪种行为?仅在底部滚动时进行动画制作,或检查内容是否已更改,或两者兼而有之? :D – neokio 2012-07-31 14:23:28

+0

如果内容改变听起来像更酷的选项:-D 但是,如果你不介意,我想听听动画只有在底部暗示的情况下才会如何解决:-D – 2012-07-31 14:24:57