Ошибка анимации slideUp slideDown - PullRequest
       28

Ошибка анимации slideUp slideDown

2 голосов
/ 10 августа 2011

У меня есть div, когда завис над ним, а второе изображение скользит вверх, а когда мышь уходит, оно скользит вниз, анимация - это именно то, что я хочу, но если вы слишком быстро наведите курсор мыши, не давая анимации закончить, это вызывает ошибкии будет идти только на высоту, на которой вы оставили анимацию.Любая помощь была бы действительно полезна, если бы я смотрел на разные блоги в течение нескольких дней, и я не могу найти решение, я использую прототип и 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 Ответ

1 голос
/ 10 августа 2011

Вам нужно использовать Scriptaculous Effects Queue.

Ваши обработчики запускаются немедленно и асинхронно, как только происходят события, поэтому, когда события происходят очень быстро, обработчики перекрываются и конфликтуют друг с другом. Вы действительно хотите, чтобы они выстроились в очередь и выполняли последовательно, как только закончится предыдущий.

Вот действительно хорошая статья об этом:
http://script.aculo.us/docs/EffectQueues.html

Ваш код будет выглядеть так:

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

Вы также можете делать такие вещи, как создание нескольких очередей эффектов, если они мешают друг другу. Статья делает хорошую работу, объясняя все это.

НТН * Кен 1014 *

...