我有一个div悬停在上面,第二个图像向上滑动,当鼠标离开时,它向下滑动,动画正是我想要的但是如果你快速鼠标进出而没有让动画完成它的bug并且只会到达你离开动画的高度。任何帮助都会非常有帮助,因为看了几天不同的博客,我似乎找不到修复,我正在使用原型和sciptaculous这里是我的代码:
$('mid_about_us').observe('mouseenter',function() {
$('about_us_mo').slideDown({duration: 0.5});
});
$('mid_about_us').observe('mouseleave',function() {
$('about_us_mo').slideUp({duration: 0.5});
});
#about_us_mo{
position: absolute;
float: left;
bottom: 452px;
left: 4px;
z-index:99999;
overflow: hidden;
}
答案 0 :(得分:1)
您需要使用Scriptaculous Effects队列。
一旦事件发生,您的处理程序就会立即和异步地触发,因此当事件发生得非常快时,处理程序会重叠并相互冲突。你真正想要的是让他们排队并按顺序执行,只要他们在他们之前完成。
这是一篇非常好的文章:
http://script.aculo.us/docs/EffectQueues.html
您的代码如下所示:
$('about_us_mo').slideDown({duration: 0.5, queue: 'end'});
如果它们相互干扰,您还可以创建多个效果队列。这篇文章很好地解释了所有这些。
HTH -Ken