2012-02-16 55 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

相關問題