2010-11-19 6 views

Répondre

48

Si vous êtes prêt à inclure la bibliothèque jQuery UI, en plus de jQuery lui-même, alors vous pouvez simplement utiliser hide(), with additional arguments, comme suit:

$(document).ready(
    function(){ 
     $('#slider').click(
      function(){ 
       $(this).hide('slide',{direction:'right'},1000); 

      }); 
    }); 

JS Fiddle demo.


Sans utiliser jQuery UI, vous pouvez atteindre votre objectif en utilisant simplement animate():

$(document).ready(
    function(){ 
     $('#slider').click(
      function(){ 
       $(this) 
        .animate(
         { 
          'margin-left':'1000px' 
          // to move it towards the right and, probably, off-screen. 
         },1000, 
         function(){ 
          $(this).slideUp('fast'); 
          // once it's finished moving to the right, just 
          // removes the the element from the display, you could use 
          // `remove()` instead, or whatever. 
         } 
         ); 

      }); 
    }); 

JS Fiddle demo

Si vous choisissez d'utiliser jQuery UI, alors je vous recommande un lien vers la Code hébergé par Google, à: https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js

+1

J'essaie de rester loin de l'interface utilisateur jQuery – Webnet

+1

@Webnet, alors ce dernier code/démo devrait fonctionner ... –

12

Une autre solution consiste à utiliser .animate() et CSS approprié.

par exemple.

$('#mydiv').animate({ marginLeft: "100%"} , 4000); 

+0

Cela ne semble pas fonctionner dans mon exemple .... http : //jsfiddle.net/Webnet/DtzAw/ – Webnet

+0

@Webnet: mais dans l '[exemple vous lien vers] (http://jsfiddle.net/Webnet/DtzAw/) (dans votre commentaire précédent), vous n'apparaissez pas appeler ['animate()'] (http://api.jquery.com/animate/). –

+0

Désolé, il ne lia pas la révision correcte .... http://jsfiddle.net/Webnet/DtzAw/1/ – Webnet