Сдвиньте div справа налево, используя анимацию()

Мне нужен div '.whole' для анимации (слайд справа налево)

JQuery

$('#menu').click(function() {
      $('.whole').toggleClass('r2');
      $('#slideMenu').toggle();
});

.r2 { right: 200px }

Я не могу правильно использовать функцию animate().

Ответ 1

Это должно работать:

$('#menu').click(function(event) {
      event.preventDefault(); // because it is an anchor element
      $('.whole').animate({
          right: '200px'
      });
      $('#slideMenu').toggle();
});

Но ваше свойство position должно быть уже установлено в CSS, или вы можете не получить именно то, что вам нужно.

Рабочая JSFiddle

Чтобы объяснить: функция принимает объект свойств JS, например:

{
    right: '200px',
    somethingElse: 'value',
    myboolean: true
}

вы также можете присвоить это var и передать его animate:

var cssProperties = { right: '200px' }

$('#menu').click(function() {
  $('.whole').animate(cssProperties);
});

Вы можете передать другие аргументы как читаемые в документации.