[英]How to get time difference between two timestamps in seconds with jQuery?
[英]how to get time difference between two events in jQuery?
我試着查了一下,卻發現了一段我不太明白的代碼。
<p>Count the number of milliseconds between the two click events on a paragraph </p>
<div>Click on the above paragraph</div>
$(document).ready(function() {
var lastt, tdiff;
$("p").click(function(event){
if(lastt){
tdiff = event.timeStamp - lastt;
$("div").append("Time since last event: " + tdiff + "<br>");
}else{
$("div").append("<br>Click again.<br>");
}
lastt = event.timeStamp;
});
});
我的問題如下:
if(lastt)
是什么意思? 它是一個變量,所以它怎么可能是真/假?lastt
?1- if(lastt) 是什么意思?
該語句檢查是否設置了lastt
變量。 在第一次單擊時,該值為null
(假值),該函數僅添加一個p
元素。
它是一個變量,所以它怎么可能是真/假?
變量可以有布爾值。 為什么不? 但這里的重點不是檢查布爾值。 if
語句用於檢查該值是否已設置,即lastt
不為null
。 時間戳是一個數字,任何不為0
的數字在 JavaScript 中都被視為真值。
2-如何在分配 lastt 之前計算 tdiff?
這實際上並沒有發生。 在第一次單擊時,處理程序不進行任何計算。
3-為什么最后在 if 和 else 語句之后而不是之前?
檢查 2 個時間戳的差異需要lastt
的存在。 新的lastt
用於處理程序的下一次調用,因此需要在計算后進行設置。
在給定的代碼段中,您使用 jQuery 存儲上次,然后找到差異(與當前時間)進行打印。
回答你的問題:
if(lastt)
用於檢查lastt
已經有值。
tdiff
一次只計算lastt
分配。
lastt
在 if else 之后記錄每次事件的結束時間。 (如果放在 if-else 中,則必須同時放在兩者中。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.