2013-03-13 17 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處理程序中添加事件偵聽器?每當鼠標移動時,您將重新添加這些偵聽器。