在活动选项卡上暂停setInterval()?

时间:2014-08-12 23:14:47

标签: javascript setinterval onblur

我有一个幻灯片,使用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。

感谢您的帮助,非常感谢。

0 个答案:

没有答案