我正在构建一个 AJAX 页面,当用户单击某个框时,它会发送 ajax 请求并返回结果。这是一个非常简单的游戏。用户重复单击该框,我需要记录每次单击之间耗时,精度为毫秒。因此,实际上,对于我的请求,我将发送自上次请求以来耗时并将其存储在数据库或 session 中。
Javascript 确实有一个精确到毫秒的计时器,对吧?那么 jQuery 是否可以轻松完成保持点击之间时间的任务呢?
最佳答案
为此您不需要 jQuery。要获取用户计算机上的时间(以毫秒为单位):
var nowInMilliseconds = new Date().getTime();
因此,要比较两次,只需从结束时间中减去开始时间,这就是以毫秒为单位的差异。
示例:
(function() {
var firstClick;
function clickHandler() {
var now, duration;
now = new Date().getTime();
if (!firstClick) {
// Remember the time of the first click
firstclick = now;
}
else {
// Second click; how long as it been?
duration = now - firstClick;
// Reset so we're waiting for the first click again
firstClick = undefined;
// ...send your Ajax data to the server...
}
}
function pageLoad() {
$('#button').click(clickHandler);
}
window.onload = pageLoad; // or jQuery.ready() or whatever
})();
(外部函数仅用于确定作用域,因此我们不会创建不必要的全局符号。)
关于javascript - 使用 jQuery 记录持续时间(以毫秒为单位)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1947398/