продолжительность записи в миллисекундах с использованием jQuery? - PullRequest
2 голосов
/ 22 декабря 2009

Я создаю страницу AJAX, которая, когда пользователь щелкает поле, отправляет запрос ajax и возвращает результат. Это очень простая игра. Пользователи неоднократно щелкают по полю, и мне нужно записать, сколько времени прошло между каждым кликом с точностью до миллисекунд. Так что с моим запросом на самом деле я буду отправлять истекшее время с момента последнего запроса и сохранять его в базе данных или сеансе.

В Javascript есть таймер с точностью до мс, верно? Так делает ли jQuery эту задачу, облегчая время между щелчками мыши?

1 Ответ

6 голосов
/ 22 декабря 2009

Вам не нужен 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
})();

(Внешняя функция предназначена только для определения области видимости, поэтому мы не создаем ненужных глобальных символов.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...