進入我的菜單項後,我的隱藏分區很好地滾動,然後如果離開,則會反衝。問題是,如果你已經在容器周圍移動鼠標,然後再進入菜單項上最糟糕的是不幸的是重新火災,並再次向下滑動隱藏的容器是這樣的:防止菜單項在內部重新啓動後
所以我嘗試要做的就是測試一下,看看這個物品是否已經可見,是否只是繼續展示容器。
這是我所能達到那個是這樣的:
任何幫助是極大的讚賞。
進入我的菜單項後,我的隱藏分區很好地滾動,然後如果離開,則會反衝。問題是,如果你已經在容器周圍移動鼠標,然後再進入菜單項上最糟糕的是不幸的是重新火災,並再次向下滑動隱藏的容器是這樣的:防止菜單項在內部重新啓動後
所以我嘗試要做的就是測試一下,看看這個物品是否已經可見,是否只是繼續展示容器。
這是我所能達到那個是這樣的:
任何幫助是極大的讚賞。
這工作:
HTML:
<div id="container">
<div id="header">
<div id="boundary"></div>
<div id="menu">
<div id="about">
<div id="dd_about"></div>
</div>
</div>
</div>
</div>
的JavaScript
var menustate = "hidden";
$('#about').bind('mouseenter', function() {
if (menustate == "hidden")
{
$('#dd_about').slideDown('fast');
menustate = "shown";
}
});
$('#about').bind('mouseleave', function() {
$('#dd_about').slideUp('fast');
menustate = "hidden";
});
CSS
#container {
width:500px;
margin:0 auto;
position:relative;
}
#header {
width:100%;
height:50px;
background:blue;
position:relative;
}
#boundary {
width:320px;
height:60px;
bottom:0;
right:0;
position:absolute;
background:purple;
}
#menu {
width:100px;
height:40px;
position:absolute;
right:10px;
top:10px;
}
#about {
width:100px;
height:40px;
float:left;
background:yellow;
}
#dd_about {
top : 40px;
left : 0px;
width:100px;
height:200px;
position:absolute;
background:red;
display:none;
}
#dd_about {right:10px}
爲做到這一點:
與此javascript
$('#about').bind('mouseenter', function() {
$('#dd_about').slideDown('fast');
});
$('#about').bind('mouseleave', function() {
$('#dd_about').slideUp('fast');
});
這裏的工作演示http://jsfiddle.net/NAyWQ/21/
此示例使用標誌變量來檢查當前懸停狀態
var hover = false;
$('#about').bind('mouseenter', function() {
hover = true;
$('#dd_about').slideDown('fast');
});
$('#boundary').bind('mouseenter', function() {
hover = false;
$('#dd_about').slideUp('fast');
});
$('#dd_about').bind('mouseleave', function() {
hover = false;
setTimeout(function() {
if (hover) return false;
$('#dd_about').slideUp('fast');
}, 50);
});
謝謝@dfsq我最初嘗試了一種解決方案。也適用。 – lyndonr 2012-02-14 14:50:26
你確定你想要做那樣的懸停狀態菜單?觸摸屏不能很好地工作。 – 2012-02-13 20:10:06
這是已經在這裏回答: http://stackoverflow.com/questions/2360209/cancel-all-queued-jquery-slideup-and-slidedown-animations – 2012-02-13 20:12:51
@DrewBaker。感謝您指出了這一點。我認爲,這是針對主要針對非移動用戶的網站。好奇,但是會有什麼好回落?檢查它是否是移動設備,然後讓下拉菜單可點擊? – lyndonr 2012-02-14 14:47:22