Вызов функции через ms секунд при mousemove
var timerId = (function(){
},0);
// устанавливаем таймер, чтобы потом при событии onmousemove //clearTimeout работал
document.body.onmousemove=function(){
clearTimeout(timerId);
timerId = setTimeout(function(){
console.log('yes');
},100);
}
коряво работает блин(( JSfiddle |
(function() {
var timerID;
function timer() {
console.log(true);
};
document.body.onmousemove = function() {
clearTimeout(timerID);
timerID = setTimeout(timer, 300);
};
})();
Точно mousemove? Может mouseover? |
mousemove, так как часто очень вызывается... поэтому заглушку такую хотел поставить , но твой пример не работает, вызывается не с интервалом 300ms (((
|
есть в js события которые слишком часто вызываются это mousemove или scroll ну и чтобы обработчик события слишком часто не вызывался я хотел написать функцию заглушку через setTimeout
типо проводишь ты мышкой по body в течение 3 с и обработчик события вызвался бы 10 раз так как setTimeout ({}300ms) |
(function() {
var startTime = new Date().getTime();
function timer() {
console.log(true);
};
document.body.onmousemove = function() {
var time = new Date().getTime();
if(time - startTime >= 300) {
startTime = time;
timer();
}
};
})();
|
спасибо
|
| Часовой пояс GMT +3, время: 17:14. |