.animate Хром/Сафари баг. Нужна помощь
Ребят, делаю галерею. Столкнулся с проблемой.... .animate в хроме/сафари как-то странно работает. Вот код:
/** * Анимация next */ function animateNext(){ if (!isAnimated){ isAnimated = true; // добавляем фото $tempImg = $("<img />",{id : "tempImg", alt: "temp", src: nextImg}); $tempImg.css({position: "absolute", marginLeft: "-852px"}); $("#photo-wrapper").append($tempImg); // движение $("#mainImg").animate({marginLeft: 852}, "normal"); $("#tempImg").animate({marginLeft: 0}, "normal",function(){ // возвращаем все, как было $("#mainImg").attr("src",nextImg).css({marginLeft:0}); $("#tempImg").remove(); current++; if (current==galerySize) current = 0; preload(current); isAnimated = false; }); } } Что я здесь делаю: 1) создаю еще одно изображение (правее заданного - его не видно изначально) 2) анимирую изображение, которое сейчас видно и вновь созданное - смещение обеих вправо на ширину изображения. 3) Возвращаю старое изображение на место, меняю ему src на новый и удаляю временное изображение. В хроме у меня начались проблемы... циклится смена изображений.. я так понимаю, что он тупо не может выйти из callback функции animate... почему - не знаю. Помогите пожалуйста. Пронаблюдать баг можно здесь: http://gsg.banana.dn.ua/restaurants/shato/ (чтоб просмотреть галерею - нажмите на маленькое изображение внизу) P.S. Кстати. по-другому тоже пробовал сделать - удалять mainImg и переприсваивать id... Все равно не катит.. все равно в хроме и сафари баг с выходом из .animate. Ставил alert() на выходе - до него так и не доходит... что делать? |
Часовой пояс GMT +3, время: 11:43. |