var timeout;
$("#accountIcon").hover(function() {
clearTimeout(timeout);
$("#accountPopup").delay(500).show(500);
}, function() {
setTimeout(function(){
$("#accountPopup").delay(500).hide(500);
},500);
});
if($("#accountPopup").is(':hover')){
$("#accountPopup").show();
}
DEMO
我想,这是实现由一个包装DIV
<div class="conatiner">
<div id="accountIcon"></div>
<div id="accountPopup"></div>
</div>
.conatiner{
overflow:hidden;
}
var timeout;
$(".conatiner").hover(function() {
clearTimeout(timeout);
$("#accountPopup").delay(500).show(500);
}, function() {
setTimeout(function(){
$("#accountPopup").delay(500).hide(500);
},500);
});
DEMO HERE
内你的div的好方法
,并在您使用悬停..你可以使用CSS,能见度和跃迁延迟
<div class="conatiner">
<div id="accountIcon"></div>
<div id="accountPopup"></div>
</div>
.conatiner:hover #accountPopup{
display: block;
-webkit-transition-delay: 1s; /* Safari */
transition-delay: 1s;
}
DEMO