lancer_serega
@lancer_serega
PHP Developer

Вопрос по JavaScript. Почему в переменную visible все время приходит true?

var startSize = $('.product-spoiler').css('border-bottom-left-radius') || 0,
        endSize = 30,
        size,
        duration,
        visible;
 
    $('.product-spoiler').on('click', function () {
        $(this).find('.show-block').slideToggle(duration);
 
        visible = $(this).find('.show-block').is(':visible');
 
        size = visible ?startSize :endSize;
 
        $(this).animate({
            borderBottomLeftRadius: size,
            borderBottomRightRadius: size
        }, duration);
    });
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
profesor08
@profesor08 Куратор тега JavaScript
Потому что код, который получает значение visible, выполняется до того, как закончится анимация slideToggle. Тебе надо получать это значение в коллбеке вызова функции slideToggle.
$(...).slideToggle({
  complete: function() { твой код }
});
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы