Jquery .animate () игнорирует продолжительность анимации

0

Для переменной fade_time установлено значение 3000, но анимация намного быстрее. Я также пробовал переходить в 3000 вместо пения переменной, но это не помогло. Вот мой код, любые идеи приветствуются.

$images.filter(':eq(' + current_pic_idx + ')').css({
    zIndex: 50
});
$images.filter(':eq(' + nextPic + ')').css({
    zIndex: 100,
    opacity: 0
}).animate({
    opacity: 100
}, {
    duration: fade_time,
    complete: function () {
        $images.filter(':eq(' + current_pic_idx + ')').css({
            zIndex: 0
        });

        current_pic_idx = current_pic_idx + 1;
        if (current_pic_idx == $images.size()) {
            current_pic_idx = 0;
        }

        window.setTimeout(showNextImage, timer_delay);
    }
});
  • 0
    пожалуйста, предоставьте скрипку с минимальным примером. Здесь слишком много кода, не имеющего отношения к вопросу.
  • 0
    Мой единственный логический вывод заключается в том, что проблема именно в fade_time который, вероятно, не в числе, а в строке, не распознается jQuery как допустимое значение и имеет значение по умолчанию (400);
Показать ещё 4 комментария
Теги:

1 ответ

0

Попробуйте использовать следующий синтаксис:

.animate({
    opacity: 100
}, fade_time, function () {
        $images.filter(':eq(' + current_pic_idx + ')').css({
            zIndex: 0
        });

        current_pic_idx = current_pic_idx + 1;
        if (current_pic_idx == $images.size()) {
            current_pic_idx = 0;
        }
     window.setTimeout(showNextImage, timer_delay);
    });

Ещё вопросы

Сообщество Overcoder
Наверх
Меню