2013-03-13 58 views
0

我是一个demo here在javascript中的图像上mousemove箭头时出错?

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毫不掩饰,如何解决呢?

回答

2

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

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