Задать вопрос
ddimonn8080
@ddimonn8080

Почему 'opacity': 'toggle' не работает?

Подскажите почему не работает 'top': 'toggle' и 'opacity': 'toggle' ?
закомментированный вариант работает нормально, но только в сторону отображения.
Нужно сделать что-то вроде функции .toggle, но в пользовательской анимации.
$(document).ready(function(){
  $('a').click(function(){
    $('img').animate({
      'top': 'toggle',//top:0
      'opacity': 'toggle'//opacity:1
    }, 700);
  });
});
  • Вопрос задан
  • 338 просмотров
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ответы на вопрос 2
thewind
@thewind
php программист, front / backend developer
в методе .animate в качестве css используется набор пар "свойство:значение". Метод будет изменять текущие значения указанных свойств в сторону переданных в каждой паре.

А в вашем пример свойство top должно получить итоговое значение 'toggle', что неверно.

PS псевдо-алгоритм .toggle() так работать не будет.
Ответ написан
ddimonn8080
@ddimonn8080 Автор вопроса
Нашел решение:
$(document).ready(function(){
  var $img = $('img');
  
  $('a').click(function(){
    if ($img.css('opacity') == 0) {
      $img.animate({
        top: 0,
        opacity: 1
      }, 1500);
    } else {
      $img.animate({
        top: '-5px',
        opacity: 0
      }, 1500);
    }
  });
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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