1

在下面的代碼,一旦鼠標移出完成鼠標一遍不行的,究竟是什麼jQuery的鼠標懸停/鼠標移開

<!DOCTYPE html> 
    <html> 
    <head> 
    <style> 
    /* div { background:#def3ca; margin:3px; width:80px; 
    display:none; float:left; text-align:center; }*/ 
    </style> 
    <script src="http://code.jquery.com/jquery-latest.min.js"></script> 
    </head> 
    <body> 
    <div id="playControls" style="position:absolute; bottom:0px; left:0px; right:0px;color:blue;"> 
Mouse over me 
    </div> 
    <script> 
    $(document).ready(function() { 
    $("#playControls").mouseover(function() { 
    alert('here'); 
    $("div:eq(0)").show("fast", function() { 
    /* use callee so don't have to name the function */ 
    $(this).next("div").show("fast", arguments.callee); 
    }); 
    }); 
    $("#playControls").mouseout(function() { 
    alert('here'); 
    $("div").hide(2000); 
    }); 
    }); 

    </script> 
    </body> 
    </html> 

回答

1

工作都是圍繞這條線隱藏在網頁上的所有div:

$("div").hide(2000); 

我不認爲這是你想要的。它也會隱藏處理mouseover/mouseout的div。

我想你的意思是:

$(this).next("div").hide(2000); 

這將隱藏只有你想要的股利。

+0

不,我不想要這個,但我應該能夠檢索到div,它是如何完成的 – Hulk 2010-06-15 10:24:21

+0

這是不是很清楚預期的行爲是什麼。你能解釋一下你想在mouseover/mouseout上發生什麼嗎? – 2010-06-15 10:26:50

+0

在鼠標懸停的div,該div應該是可見的其他隱藏div – Hulk 2010-06-15 10:31:20

0

使用hover函數。它專門爲這種使用模式而製作。

0
$("#playControls").mouseout(function() { 
    alert('here'); 
    $("div").hide(2000); 
}); 

在你的代碼的這部分,當你mouseout的div#playControls時你隱藏所有div。你無法觸發div的mouseover事件的原因是因爲div是隱藏的。