2

我有一个 div 悬停在第二个图像向上滑动并且当鼠标离开时它向下滑动,动画正是我想要的,但是如果你鼠标进出太快而没有让动画完成它会出现错误并且只会转到您离开动画的高度。任何帮助都会在几天内查看不同的博客时非常有帮助,我似乎找不到修复,我正在使用原型,这里是我的代码:

$('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;

}

4

1 回答 1

1

您需要使用 Scriptaculous 效果队列。

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

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

您的代码将如下所示:

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

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

HTH-肯

于 2011-08-10T16:14:09.867 回答