我正在通过编写幻灯片插件来学习jQuery,如果结果很好,我将发布给任何人使用它。我有一个良好的开端,但遇到了一个问题。如果你切换标签,然后回到它打开的页面,时间就搞定了。我看过this question处理同样的事情,但我不知道如何将答案应用到我的特定情况。
你可以查看&在此下载幻灯片:http://kthornbloom.com/slydeshow/或查看JSFiddle:http://jsfiddle.net/8FkYj/
(抱歉新手js代码!我至少试图评论一下)
答案 0 :(得分:5)
您可以将停止事件绑定到$(窗口).blur,并将启动事件绑定到$(窗口).focus,以便在选项卡处于非活动状态时计时器停止。
类似的东西:
var interval_id;
$(window).focus(function() {
if (!interval_id)
interval_id = setInterval(slide, 1000);
});
$(window).blur(function() {
clearInterval(interval_id);
interval_id = 0;
});