2011-04-05 33 views

回答

2

如何約上幾個漂亮的插件功能,這樣的伎倆?

$.fn.loadLater = function (url, time) { 
    var me = this; 
    this.data('load-later-timer', setTimeout(function() { 
     me.load(url); 
    }, time)); 
}; 

$.fn.dontLoadLater = function() { 
    var timer = this.data('load-later-timer'); 
    if (timer != null) clearTimeout(timer); 
}; 

使用像這樣:

// Start timer 
$(this).loadLater('info.php', 3000); 

// Stop timer 
$(this).dontLoadLater(); 
+0

哇!驚人!這實際上解決了我遇到的其他一些問題,感謝一百萬,這些都是一些超級漂亮的插件!非常感謝,非常感謝你! – mcbeav 2011-04-05 05:11:50

+1

感謝您的幫助。這是一個了不起的社區! – mcbeav 2011-04-05 05:13:08

2

這絕對是有道理的,只是做像這樣:

var id = setTimeout(function() {testEvent()}, 3000); 

clearTimeout(id); 

確保兩個事件處理程序都可以訪問id

編輯:我監督你是指在testEventthis。假設this是你使用jQuery查找某個節點,代碼可能看起來像這樣:

var id = setTimeout(function() { 
    $('.your-selector').each(testEvent); 
}, 3000); 
+0

啊,太感謝了,讓我怎麼叫定時事件的話,做我只是寫VAR ID = setTimeout的.......每當我需要它被稱爲? – mcbeav 2011-04-05 05:05:51

+0

沒錯,但是如果你打算停止定時器,請確保你保留了定時器ID('id'變量),否則你可能會簡單地使用'setTimeout(function(){testEvent()},3000)''。 – zindel 2011-04-05 05:08:44

相關問題