javascript - 使用 jQuery 记录持续时间(以毫秒为单位)?

标签 javascript jquery ajax

我正在构建一个 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/

相关文章:

javascript - FadeIn 新背景图像 Jquery

javascript - 将对象转换为 HTML 元素

jquery - onClick事件后淡出div的问题

php - 多次调用 XMLHttpRequest onreadystatechange

javascript - 如何通过拖放上传多个文件并使用ajax浏览

javascript - 如何移动窄输入元素中的可见文本以在末尾看到光标?

javascript - this 在自执行函数中的范围

javascript - jQuery animate,在动画完成之前忽略额外的点击

jquery - 如何强制 navbar-fixed-top 在一定高度后显示

javascript - 将 Ajax 回调函数值分配给 JavaScript 变量