2012-02-07 86 views
0

現在,我的背景頁面中有1分鐘的計時器可以永久運行,我希望能夠從選項頁面啓動和停止該計時器。 Window對象時間表如何從選項頁面啓動和停止計時器

chrome.browserAction.setBadgeBackgroundColor({color:[0, 0, 0, 255]}); 

var i = 1; 
window.setInterval(function(timer) { 
chrome.browserAction.setBadgeText({text:String(i)}); 
i++; 
}, 60000); 

回答

2

setInterval()方法的功能也可以在指定的毫秒數的間隔重複地調用。 setInterval()返回一個不透明的值,該值可以傳遞給clearInterval()以取消將來調用預定功能的任何調用。閱讀更多關於How Javascript Timers work。這樣,您可以編寫這樣的事:

My.Controller = {}; 

(function() { 
     var interval = 10; 
     var timer = null; 

    function init (param) { 
    // initialisations if any 
    } 

    // Override the default interval of 10 seconds by passing new interval 
    function startAction (param, tInterval) { 
    // Set a timer 
    var ti = (!tInterval) ? interval : tInterval; 
    timer = setInterval(My.Controller.action, ti * 2000);  
    } 

    function action() { 
    // Logic here 
    } 

    function stopAction() { clearInterval(timer); } 

    var c = My.Controller; 
    c.init = init; 
    c.startAction = startAction; 
    c.stopAction = stopAction; 
})(); // end Controller 

現在你可以說My.Controller.startAction()啓動定時器,並My.Controller.stopAction()停止。

閱讀並探索namespaces in JavaScript。 希望這有助於。