我想只在没有鼠标事件的情况下更新页面, 如:
function TimedRefresh(t) {
$('#colorbox').mousemove(event) {
if (mousemove != 0) { //(mousemove == false)
setTimeout("location.reload(false);", t);
}
}
}
它当然不起作用。它被称为:
<body onload="JavaScript:TimedRefresh(5000);">
答案 0 :(得分:1)
你这样做
$('#colorbox').mousemove(function( event ) {
clearTimeout( $(this).data('timer') );
$(this).data('timer', setTimeout(function() {
window.location.reload();
}, 5000));
});
当鼠标在#colorbox
元素内移动时,计时器将被重置,如果未检测到鼠标移动,则会在5秒内重新加载页面。
答案 1 :(得分:1)
你需要扭转逻辑。设置页面的定时器onload,然后在移动鼠标时清除/重新启动它。如果鼠标移动时间不超过5秒,则页面将刷新:
$(document).ready(function() {
var timer;
resetTimer();
$('#colorbox').mousemove(function() {
resetTimer(timer);
});
function resetTimer() {
clearTimeout(timer);
timer = setTimeout(function() {
window.location.reload(false);
}, 5000);
}
});
答案 2 :(得分:0)
我认为你应该这样做: