J’essaie de reproduire le système de vote par vote qui figure sur ce site Web. Existe-t-il un moyen simple de déplacer la position d’une div dans jQuery (avec des animations)?
Dites que j’ai les éléments suivants:
item 1 item 2 item 3
J’aimerais pouvoir appeler une fonction qui déplacerait en douceur le point 3 d’une position à l’autre:
item 1 item 3 item 2
Existe-t-il un moyen simple de faire cela dans jQuery?
Quelque chose comme ça peut-être:
$('.move-up').click(function(e){ var $div = $(this).closest('div'); // Does the element have anywhere to move? if ($div.index() > 0){ $div.fadeOut('slow',function(){ $div.insertBefore($div.prev('div')).fadeIn('slow'); }); } }); $('.move-down').click(function(e){ var $div = $(this).closest('div'); // Does the element have anywhere to move? if ($div.index() <= ($div.siblings('div').length - 1)){ $div.fadeOut('slow',function(){ $div.insertAfter($div.next('div')).fadeIn('slow'); }); } });
Démo
Fondamentalement:
$div
) fadeOut()
donne un bel effet d'interface utilisateur avec fadeOut()
) insertBefore()
ou insertAfter()
) fadeIn()
) Oui il y a en changeant ses styles css. Modifiez sa position http://api.jquery.com/position/. Vous pouvez également essayer ceci. Comment positionner un élément par rapport à un autre avec jQuery?