我有一个链接。当我将鼠标悬停在上面时,应该有1-2秒的延迟,之后会出现div
。当我将鼠标悬停在它上面时,应该保留div
。如何使用jQuery延迟动画
如果我没有在链接或div
上悬停,div
应在1-2秒的延迟后消失。
我不知道如何做到这一点。有人可以帮忙吗?我试图实现的目标与谷歌播放网站预览的方式类似。
var formHide;
$('.toggleDisForm').hover(function() {
var form = $(this).parents("li").find(".dispenserForm");
function showIt() {
form.fadeIn();
}
show = setTimeout(showIt, 1000);
clearTimeout(formHide);
}, function() {
var form = $(this).parents("li").find(".dispenserForm");
function hideIt() {
form.fadeOut();
}
clearTimeout(show);
hideDispen = setTimeout(hideIt, 1000);
$('.dispenserForm').not(form).hide();
});
var hideDispen;
$('.dispenserForm').hover(function() {
$('.dispenserForm').not(this).hide();
clearTimeout(hideDispen);
}, function() {
var form = $(this);
function showMe() {
form.show();
}
formHide = setTimeout(showMe, 1000);
});
她是标记
<ul class="clearfix">
<li>
<div class="inner">
<a class="toggleDisForm" href="#">hover
<div class="dispenserForm">
The div that should appear
</div>
</a>
</div>
</li>
<li>
<div class="inner">
<a class="toggleDisForm" href="#">hover
<div class="dispenserForm">
The div that should appear
</div>
</a>
</div>
</li>
<li>
<div class="inner">
<a class="toggleDisForm" href="#">hover
<div class="dispenserForm">
The div that should appear
</div>
</a>
</div>
</li>
etc...
</ul>
而你的HTML标记会是..?你有什么尝试?你看过[hoverIntent](http://cherne.net/brian/resources/jquery.hoverIntent.html)插件吗?还要别的吗? –
你的问题是什么?如何延迟动画?如何做动画?如何创建悬停效果...您的问题需要更具体;不只是我该怎么做。 – arb