【发布时间】:2010-09-18 04:09:10
【问题描述】:
所以我在 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”永远不会被停止清除。我错过了什么?
【问题讨论】:
标签: javascript timeout onmousemove