在JavaScript中鼠标移动箭头时出错?

时间:2013-03-13 15:07:20

标签: javascript

我是demo here

function mouseTagObject() {
    var x = document.getElementsByTagName("img")[0];
    x.addEventListener('mouseover', function(){document.getElementById('arrow').style.display = 'none';}, false);
    x.addEventListener('mouseout', function(){document.getElementById('arrow').style.display = 'block';}, false);
}
function mousemoveDiv(e) {
    document.getElementById('arrow').style.top = e.pageY - 10 + "px";
    document.getElementById('arrow').style.left = e.pageX - 15 + "px";
    mouseTagObject();
}
document.addEventListener('mousemove', mousemoveDiv, false);

和html

当我在image tag(慢慢地)移动时,<div> tag无法隐藏,如何修复它?

1 个答案:

答案 0 :(得分:2)

我承认,它给了我一分钟的失误。但缓慢与快速的事情就是这样做的。想象一下,为什么慢慢移动时它不起作用?好吧,看看你的鼠标。如果移动速度非常快,按钮会从鼠标下方移出。但是如果你移动缓慢,按钮会一直停留在鼠标下,这意味着它实际上从未进入图像。摆脱那个按钮或把它放在光标旁边,而不是它下面。

另外,为什么要在mousemove处理程序中添加事件侦听器?每次鼠标移动时,您都会重新添加这些监听器。