我所做的是改變了方法。 我在這個搗鼓了一個事件捕手DIV:
http://jsfiddle.net/L2J5X/2/
,並添加事件處理程序,當鼠標過來該分區菜單動畫中,當鼠標移出格菜單動畫出來。
function dothething(amover)
{
if(amover)
{
$(".nav").animate({top: '0px'}, 200, "linear");
}
else
{
window.setTimeout(function(){if(!$amthere){
$(".nav").animate({top: '-40px'}, 200, "linear");
}},100);
}
}
$("#detect").mouseover(function(){dothething(true);});
$("#detect").mouseout(function(){dothething(false);});
$("#mainNav").mouseover(function(){$amthere=true;});
$("#mainNav").mouseout(function(){$amthere=false;});
$amthere = false;
的DIV絕對定位與頂部z指數因此事件總是被逮住。無論其他div如何隨機放置(請參閱偉大的綠色區塊)。
希望這會有所幫助。
*編輯*
增加了一個短暫的延遲,以防止隱藏的捕手DIV去菜單時。這就是$ amthere變量的用途,看看我們是否在菜單上。 然後用100ms延遲檢查我們是否適合真正的鼠標移出,如果不是,則如果沒有,則隱藏隱藏菜單。
我明白你的意思,但該鏈接帶我回到我原來的小提琴! (謝謝你的時間!) –
我已更新鏈接。忘了更新它;-)現在好了 – Tschallacka
非常感謝!它的所有工作現在! :D –