Así que tengo un control (un mapa) en una página aspx. Quiero escribir algo de JavaScript a onLoad configuración siguiente:¿Cómo puedo usar la sincronización de JavaScript para controlar los eventos de detención del mouse y del mouse?
cuando el ratón se detiene en el control = algo de código
cuando se mueve = algo de código (pero sólo si el movimiento es más largo de 250 milésimas seg)
Esto funciona para activar el código de parada y luego en movimiento ...
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);
};
})();
};
Pero no puedo encontrar la forma de introducir un retraso en el código de movimiento. Pensé que lo tenía con esto ...
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);
};
})();
};
Pero no se comporta como pensé. El movimiento "thread2" nunca se borra al detenerse. ¿Qué me estoy perdiendo?
gracias, funcionó como un encanto. ¡Rock! – mrjrdnthms