2013-03-08 14 views
4

嗨,我正在使用jQuery。如何在jquery中獲取事件的完成時間

我有一個複選框,單擊事件

jQuery('.btn-check-box').click(function() { 

    //code goes here . 
}); 

問題是click事件需要大量的時間來complete.some倍的瀏覽器卡住。 所以我想改變函數內的代碼並減少完成時間。

現在我想獲得我當前的點擊事件完成時間。 然後更改代碼並再次檢查完成時間。

所以我可以根據完成時間優化我的代碼。

有什麼辦法來檢查事件完成時間。 請幫忙。 在此先感謝。

+2

下面你就不能像'finishtime,starttime'? – SRy 2013-03-08 06:22:22

回答

6

傳遞事件作爲參數。

var createdTime; 
jQuery('.btn-check-box').click(function(e){ 
    createdTime = e.timeStamp; 
}).done(function(){ calculate time difference }); 

,如果你會使用console.log(e)那麼它會告訴你,jQuery的已經通過時間戳時觸發的事件。

所以現在你需要找到一種方式,即使這樣做.done() jQuery方法將幫助你。

在側面.done()你也可以得到相同的e.timestamp並做一些數學運算來獲得你想要的輸出秒,分鐘或任何東西。

1

就像SrinivasR說的,完成時間 - 開始時間。

jQuery('.btn-check-box').click(function() { 
    var t0 = (new Date()).getTime(); 
    //code goes here 
    console.log("Event took",(new Date()).getTime() - t0, "ms to complete."); 
}); 
1

嘗試爲您的代碼

jQuery('.btn-check-box').click(function() { 
var secondStart = new Date().getTime()/1000; 
    // Your code goes here . 
var secondEnd = new Date().getTime()/1000; 
var totalTime = secondEnd - secondStart; 
console.log('Executing took' +totalTime +'seconds') 
}); 
相關問題