Очередь событий
Задача. Есть изображение, хочу его плавно заменить по клику на другое изображение.
Порядок получается такой. 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, время: 19:58. |