2012-02-16 46 views
-1

我正在通过编写一个幻灯片插件来学习jQuery,如果结果很好,我将发布给任何人使用。我有一个好的开始,但遇到了一个问题。如果切换选项卡,然后返回到打开的页面,则时间会全部搞乱。我已经看到this question处理同样的事情,但我不知道如何将答案应用于我的特定情况。当选项卡处于非活动状态时,如何解决setInterval问题?

  1. 那么,我该如何解决SetInterval选项卡切换错误?通过切换标签在这里看到:http://jsfiddle.net/8FkYj/
  2. 高级代码改进的任何建议。

你可以在这里查看&下载幻灯片:http://kthornbloom.com/slydeshow/或看到的jsfiddle:http://jsfiddle.net/8FkYj/

(对不起!对于新手的js代码,我至少尝试过评论的事情做好)

+0

哪里是你的代码? – ShankarSangoli 2012-02-16 19:10:21

+0

它在说明中,但直接链接是:http://kthornbloom.com/slydeshow/js/slydeshow.js – kthornbloom 2012-02-16 19:19:26

+1

我们不希望您的项目在某些外部服务器上。我们想要一个测试用例。这不是一个个人调试服务,而是一个编程问答 – 2012-02-16 19:20:21

回答

5

可以绑定到$(window).blur的停止事件,以及到$(window).focus的开始事件,以便在选项卡处于非活动状态时计时器停止。

喜欢的东西:

var interval_id; 
$(window).focus(function() { 
    if (!interval_id) 
     interval_id = setInterval(slide, 1000); 
}); 

$(window).blur(function() { 
    clearInterval(interval_id); 
    interval_id = 0; 
}); 
+0

听起来很不错!我会在今晚调查这个选项。 – kthornbloom 2012-02-16 19:46:23

相关问题