web-dev-qa-db-fra.com

Faites glisser une div de droite à gauche en utilisant animate ()

Je veux un div '.whole' à animer (glisser de droite à gauche)

jQuery

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

.r2 { right: 200px }

Je ne peux pas utiliser correctement la fonction animate ().

10
Nagaraj Chandran

Cela devrait fonctionner:

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

Mais votre propriété position doit déjà être définie en CSS ou vous pourriez ne pas obtenir exactement ce dont vous avez besoin.

JSFiddle de travail

Pour expliquer: la fonction prend un objet JS de propriétés, comme ceci:

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

vous pouvez également l'attribuer à un var et le transmettre à animate:

var cssProperties = { right: '200px' }

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

Vous pouvez passer d'autres arguments comme lisibles dans le documentation .

13
MarioDS