我有一个幻灯片,使用setInterval每隔15秒旋转一次图像。当选项卡处于非活动状态时,我使用onfocus和onblur来停止setInterval()。这就是我正在使用的:
var timerid;
function stopTimer() {
clearInterval(timerid);
window.onblur = null;
window.onfocus = function(){startTimer();}
}
function startTimer() {
timerid = setInterval(displayNextImg, 15000);
window.onblur = function(){stopTimer();}
window.onfocus = null;
}
window.onblur = function() { StopTimer(); }
function displayNextImg() {
x = (x === img.length - 1) ? 0 : x + 1;
document.getElementById("img").src = img[x];
}
我想添加的是当用户向下滚动页面并且sildeshow超出用户视图时停止setInterval()倒计时,类似于选项卡处于非活动状态时。我是否应该获得幻灯片放映的位置并将其与用户进行比较'位置?如果是这样,请停止设置间隔倒计时,并在视图中再次启动?
顺便说一下,我没有使用jQuery。
感谢您的帮助,非常感谢。