Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   .animate Хром/Сафари баг. Нужна помощь (https://javascript.ru/forum/jquery/13137-animate-khrom-safari-bag-nuzhna-pomoshh.html)

InviS 17.11.2010 10:44

.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.