slideUp slideDown动画错误

时间:2011-08-10 15:33:08

标签: hover prototypejs scriptaculous slidedown slideup

我有一个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;

}

1 个答案:

答案 0 :(得分:1)

您需要使用Scriptaculous Effects队列。

一旦事件发生,您的处理程序就会立即和异步地触发,因此当事件发生得非常快时,处理程序会重叠并相互冲突。你真正想要的是让他们排队并按顺序执行,只要他们在他们之前完成。

这是一篇非常好的文章:
http://script.aculo.us/docs/EffectQueues.html

您的代码如下所示:

$('about_us_mo').slideDown({duration: 0.5, queue: 'end'});

如果它们相互干扰,您还可以创建多个效果队列。这篇文章很好地解释了所有这些。

HTH -Ken