2012-01-20 3 views
0

У меня есть набор миниатюр, которые меняют изображения при наведении и в то же время выполняют переход затухания с использованием .animate(), изменяя непрозрачность. Сейчас большинство из них работает, но когда я быстро нависаю над изображением и перехожу к другому, тогда это изображение сохраняет второе изображение, а не первое, что я хочу. Мне кажется, мне нужно что-то вроде: «если мой наведение меньше определенного времени, то вернитесь к оригинальному изображению». Вероятно, это гарантирует, что все миниатюры всегда будут показывать первое изображение, даже если я быстро их опрокину. Какую часть кода я должен добавить для этого?Эффекты jquery transitions при наведении и нажмите

ссылку, где вы можете увидеть проблему: http://cargocollective.com/jarrettcreative

Это то, что я хочу сделать:

http://www.joaoricardomachado.com/

ответ

0

Вы должны установить задержку (набор и остановить таймер), при наведении над ним таймер начнет готовиться к запуску анимации, а вы покинете элемент, если таймер никогда не запускал код, а затем останавливает/удаляет javascript setTimeout (код, миллисекунчик, lang). Вы должны одурачить миллисекунды, чтобы получить хорошую настройку. Используйте clearTimeout, чтобы очистить его.

это может помочь больше. stop settimeout in recursive function

0

.stop(): http://api.jquery.com/stop

$('#my-selector').stop().animate(...); 

.stop() позволяет нам остановить текущую анимацию, когда еще один находится в очереди для элемента. Есть несколько вариантов для .stop(), о которых вы можете прочитать в документах API.

Смежные вопросы