Я думаю, что он имеет в виду, что, если он быстро перемещает мышь вперед и назад, он не хочет, чтобы анимация складывалась бесконечно.Однако выполнение .stop()
приведет к немедленной остановке текущей анимации, вместо того, чтобы позволить текущей анимации продолжить свое движение и удалить rest анимаций из очереди.Выполнение .stop(true, true)
приведет к переходу к концу текущей анимации и продолжению оттуда.
Мне кажется, что ОП хочет, чтобы текущая анимация проходила, и после этого запускала следующую анимацию,вместо того, чтобы накапливать анимацию бесконечно в случае быстрого движения мыши.
Один из способов добиться этого - самостоятельно отслеживать текущий анимирующий элемент.Это показывает один из способов добиться того, что вы хотите:
http://jsfiddle.net/ZrdV6/
РЕДАКТИРОВАТЬ
Хорошо, после разъяснения я привел другой пример.Это в основном предотвращает искажение высоты с помощью stop()
на элементе, который анимируется с помощью slideDown()
и slideUp()
.
Хитрость заключается в том, чтобы сделать анимацию самостоятельно с помощью .animate()
, исамостоятельно отслеживать исходную высоту.
http://jsfiddle.net/YmwZa/1/