2012-07-31 33 views
0

的底部我有這個功能,這本身工作正常,但它向下滾動每當我滾動它並不打算。 我希望它只在div(溢出)的滾動條位於底部時才運行該功能,這樣就可以向上滾動而不需要向下滾動以防止舊信息的顯示。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); 
} 

這裏的顯示聊天框 http://jsfiddle.net/w989Y/

回答

0

您檢查,如果DIV被滾動到下一個的jsfiddle:

if ($("divID").get(0).scrollHeight - $("divID").scrollTop() == $("divID")outerHeight()) { ... } 
0

貌似你試圖做到這一點的Facebook股票行情。當您滾動至底部,容器的outerheight,加入scrollTop,(量容器已經滾過),應該給你的總含量高scrollHeight。所以做這樣的事情:

$("#divId").scroll(function() { 
    if ($(this).scrollTop() + $(this).outerHeight() == this.scrollHeight) 
    { 
    \\do stuff; 
    } 
}); 
+0

這不是,我添加了一個jsfiddle顯示聊天框。 當您向上滾動以觀看較舊的消息時,由於jquery功能,它會向下滾動。我希望它只能向下滾動,如果用戶已經在div的底部 – 2012-07-31 18:04:29

+0

當用戶已經在底部時,如何進一步向下滾動?你的意思是說,一旦用戶向下滾動,內容應該被追加,並再次自動向下滾動到底部?這是可能的,但它會再次觸發另一個負載,另一個向下滾動,在無限循環中。 – SexyBeast 2012-07-31 18:07:22

+0

現在它每2秒鐘向下滾動到底部。如果它檢測到您處於CURRENT底部,則應該每2秒運行一次該功能。如果不在底部,請不要運行該功能 – 2012-07-31 20:04:01