只需检查该scrollTop
值即可知道用户是否在执行动画之前向下滚动
var refreshId = setInterval(function()
{
$('#chatArea').load('run/chatBox.php', function() {
if($('#chatAreaBox').scrollTop === 0)
$('#chatAreaBox').scrollTop($('#chatAreaBox')[0].scrollHeight);
});
}, 2500);
您还可以将时间戳(使用date()
)存储在一个scroll()
事件中并在您的间隔函数中检查它,然后如果最后一个滚动事件发生在 5 秒以上,则执行动画
var timestamp = null;
$('#chatArea').scroll(function() {
var d = new Date();
timestamp = d.getTime();
});
var refreshId = setInterval(function()
{
$('#chatArea').load('run/chatBox.php', function() {
var d = new Date();
if((d.getTime() - timestamp) > 5000)
$('#chatAreaBox').scrollTop($('#chatAreaBox')[0].scrollHeight);
});
}, 2500);