我在 Javascript 中有一个函数,可以根据鼠标位置移动一个 div。该功能设置在setInterval()
函数并每秒执行一次。我需要像这样捕获鼠标位置:
function mousemov() {
document.getElementById("myDiv").style.left = Event.clientX; //don't work
}
window.onload = function() {
setInterval("mousemov()",1000);
}
PS:我无法使用mousemove
事件,因为即使鼠标停止,该函数也必须执行。
您可以访问事件对象的唯一时间是在事件处理程序执行期间。因此,您需要做的是在文档上创建 OnMouseMove 事件并将鼠标坐标存储在全局可访问的对象中。然后,您可以从脚本中的其他任何位置访问这些值来确定鼠标位置。
这是一个示例(您没有使用 jQuery,因此这是直接的 DOM 代码):
document.onmousemove = function(e) {
var event = e || window.event;
window.mouseX = event.clientX;
window.mouseY = event.clientY;
}
function mousemov() {
document.getElementById("myDiv").style.left = window.mouseX;
}
window.onload = function() {
setInterval(mousemov, 1000);
}
我应该指出 clientX 和 clientY 不考虑滚动。您需要检索滚动偏移并将其应用于返回的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)