Получить продолжительность непрерывного движения мыши - PullRequest
0 голосов
/ 21 сентября 2019

Отслеживание продолжительности непрерывных движений мыши на веб-странице.Измерение начинается, когда курсор начинает двигаться, и заканчивается, когда курсор перестает двигаться на странице.Отчет о продолжительности происходит после этого.Это то, что у меня есть и работает, пока мышь движется и когда она остановлена.Тем не менее, я запутался, как отслеживать время начала и время окончания (т. Е. Продолжительность периода движения мыши).

            var myDiv = document.getElementById("myDiv");
            var timeout;
            //var startTime;
            document.addEventListener("mousemove", function() {

                myDiv.innerHTML = "You are moving";
                if (timeout) clearTimeout(timeout);
                timeout = setTimeout(mouseStop, 150);
            });

            function mouseStop() {
                myDiv.innerHTML = "Stopped";
                //console.log(Math.abs((startTime.getTime() - endTime.getTime())/1000));
            }

1 Ответ

0 голосов
/ 21 сентября 2019

Вы можете посчитать время в другом потоке таймера.После того, как вы остановите отдых таймера.

var myDiv = document.getElementById("myDiv");
var timeout;
var timer = {stopped: true, time: 0};

setInterval(() => {
  if (!timer.stopped) {
    timer.time++;
  }
}, 1000);

document.addEventListener("mousemove", function() {
  timer.stopped = false;
  myDiv.innerHTML = "You are moving";
  if (timeout) clearTimeout(timeout);
  timeout = setTimeout(mouseStop, 150);
});

function mouseStop() {
  var totalTime = timer.time;
  timer = {stopped: true, time: 0};
  myDiv.innerHTML = 'Stopped! Total time: ' + totalTime + ' seconds';
}
<div id="myDiv"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...