我有这个 HTML:
<div>
<div id="wrap">
<div id="pop">Hello</div>
Here is some content
<br />
It is several lines long.
<br />
This is the end of it.
</div>
</div>
和这个JavaScript:
$(function() {
$('#wrap').hover(function() {
$('#pop', $(this)).show('blind');
}, function() {
$('#pop', $(this)).hide('blind');
});
});
使用 jQuery UI。
如果您将鼠标移到#wrap div 上,#pop 会向下滑动并在鼠标移出时再次滑开。但是,如果您在动画完成之前将鼠标从上方移动到#wrap 或从#wrap 移动到#pop,它会永远循环(如果您等到动画完成,您可以在#wrap 和#pop 之间自由移动并且没有任何动画,这是我想要的)。
在每次调用/之前,我尝试了mouseover
、mouseenter
/ mouseleave
、过滤.not(':animated')
、调用的组合,所有这些都给出了相同的结果,这让我相信我错过了一些基本的东西。.stop()
show
hide
有人可以指出我在这里失踪的方向吗?
谢谢