Итак, у меня есть элемент управления (карта) на странице aspx. Я хочу написать некоторый JavaScript для настройки загрузки следующим образом:
когда мышь останавливается на элементе управления = некоторый код
когда мышь двигается = некоторый код (но только если движение длиннее 250 милсекунд)
Это работает для запуска кода при остановке, а затем при движении ...
function setupmousemovement() {
var map1 = document.getElementById('Map_Panel');
var map = document.getElementById('Map1');
map1.onmousemove = (function() {
var onmousestop = function() {
//code to do on stop
}, thread;
return function() {
//code to do on mouse move
clearTimeout(thread);
thread = setTimeout(onmousestop, 25);
};
})();
};
Но я не могу понять, как ввести задержку в код на ходу. Я думал, что у меня это с этим ...
function setupmousemovement() {
var map1 = document.getElementById('Map_Panel');
var map = document.getElementById('Map1');
map1.onmousemove = (function() {
var onmousestop = function() {
//code to do on stop
clearTimeout(thread2);
}, thread;
return function() {
thread2 = setTimeout("code to do on mouse move", 250);
clearTimeout(thread);
thread = setTimeout(onmousestop, 25);
};
})();
};
Но он не ведет себя так, как я думал. На ходу "thread2" остановка никогда не очищается. Чего мне не хватает?