Очередь событий
Задача. Есть изображение, хочу его плавно заменить по клику на другое изображение.
Порядок получается такой. 1. делаем fadeTo изображения в положение приближенное к 0 2. заменяем src изображения на другой 3. делаем fadeTo изображения в значение 1 Чтобы выполнить действие 2, надо дождаться конца выполнения действия 1, значит используем очередь queue(). Но с этим затык. В очереди срабатывает действие 2, но потом не хочет действие 3. jQuery(document).ready(function(){ jQuery(".info_page_photos_links a").click(function(){ var largePath = jQuery(this).attr("href"); var largeAlt = jQuery(this).attr("title"); jQuery(".info_page_photos_large").fadeTo("low", 0.1); jQuery(".info_page_photos_large").queue(function () { jQuery(".info_page_photos_large").attr({ src: largePath, alt: largeAlt }); jQuery(".info_page_photos_large").fadeTo("low", 1); }); return false; }); }); пример тут. |
jQuery(".info_page_photos_links a").each(function(){ var tmp = new Image(); tmp.src = jQuery(this).attr("href"); }).unbind('click').click(function(){ var largePath = jQuery(this).attr("href"); var largeAlt = jQuery(this).attr("title"); jQuery(".info_page_photos_large").fadeTo("low", 0.1, function(){ $(this).attr({ src: largePath, alt: largeAlt }).fadeTo("low", 1); }); return false; }); |
Спасибо. Теперь постараюсь понять как это работает :)
|
Часовой пояс GMT +3, время: 05:54. |