上我會有這個div,當它被擱置時,它會激活這個其他div。當用戶在激活的div上移動鼠標時,我希望該div保持不變。這是一個片段。將鼠標懸停在div上會觸發div,如果徘徊在
當您將鼠標懸停在金盒上時,紫色框隱藏並顯示灰色框。當鼠標移動到灰色框上時,我希望灰色框保持不動。然後當鼠標第二次懸停在金色盒子上時,灰色盒子會隱藏起來,紫色會回來。我如何在Jquery中使用流暢的動畫來做到這一點?
$(function() {
$("#startMenu").hide();
var timeoutId;
$("#menuDesktop").hover(function() {
if (!timeoutId) {
timeoutId = window.setTimeout(function() {
timeoutId = null;
$("#topBarDesktop").slideUp('400');
$("#startMenu").slideDown('1000');
}, 400);
}
},
function() {
if (timeoutId) {
window.clearTimeout(timeoutId);
timeoutId = null;
} else {
$("#startMenu").slideUp('slow');
$("#topBarDesktop").slideDown('400');
}
});
});
#topBarDesktop {
position: fixed;
top: -.1em;
right: -1em;
padding: 20px 100%;
background: purple;
}
#menuDesktop {
width: 50px;
position: absolute;
height: 50px;
background: gold;
display: inline-block;
vertical-align: top;
float: left;
left: -15px;
top: -15px;
}
#menuDesktop:hover {
background: red;
}
#startMenu {
background: grey;
padding: 100% 100%;
display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="topBarDesktop">
</div>
<div id="menuDesktop">
</div>
<div id="startMenu">
</div>
使用[$( 「#開始菜單」)的slideToggle( '1000');( http://api.jquery.com/slidetoggle/)在懸停事件中,這樣它將保持打開,直到你再次懸停$(「#menuDesktop」)。 –