Dynamiquement organiser des divs à l'aide de jQuery
Je avoir la structure suivante:
<div id="container">
<div id="someid1" style="float:right"></div>
<div id="someid2" style="float:right"></div>
<div id="someid3" style="float:right"></div>
<div id="someid4" style="float:right"></div>
</div>
Maintenant someid est actuellement un id unique pour que la div. Maintenant je reçois un tableau qui a un ordre différent de dire someid 3,2,1,4, alors comment puis-je déplacer ces divs autour pour correspondre à la nouvelle commande à l'aide de jQuery?
Merci beaucoup pour votre temps.
OriginalL'auteur Alec Smart | 2009-05-30
Vous devez vous connecter pour publier un commentaire.
Mon plugin de la version Travail De Démonstration
Prend un tableau et en option préfixe d'id et réordonne les éléments dont l'id correspond à l'ordre de (préfixe d'id) + valeurs à l'intérieur de la matrice. Toutes les valeurs de la matrice qui n'ont pas d'élément avec l'id correspondant sera ignorée, et tous les éléments enfants qui n'ont pas un id dans le tableau seront supprimés.
Code de la démo
jQuery
HTML
Beau travail. Cela a été très utile.
Vous êtes génial. Merci.
Une belle mise à jour serait un moyen de se cacher, de tout qui ne sont pas visibles en un seul passage, mais elles ont survivre à montrer de nouveau dans un deuxième appel. par exemple, passer de 1,2; puis de passer de 3,4. Je travaillais sur un curseur et utilisé une réponse ici stackoverflow.com/a/4649595/292060; mais c'est un bel objectif général de répondre.
OriginalL'auteur
Voici un jQuery-moins de solution:
OriginalL'auteur
[Edit], C'est testé et fonctionne:
L'i-1 est nécessaire car votre commande démarre à 1 mais les tableaux sont indexés à partir de 0.
Merci à J-P et Russ Cam pour me faire regarder de nouveau.
C'est une mauvaise pratique d'utiliser les boucles for-in en rangées régulières.
ce qui est une bonne/meilleure pratique?
le code n'est pas réorganiser les divs, comme je le crois var enfants contient des références pour les mêmes éléments qui sont supprimés ensuite ajouté. C'est pourquoi ils ont besoin d'être cloné
vous avez raison, c'était une mauvaise idée, étant donné que les tableaux javascript ne sais pas comment compter ;-). Il était 4 heures du matin. @Russ Cam les éléments n'ont pas besoin d'être cloné. Ils persistent dans les "enfants" de la variable après avoir vidé le récipient. Testé et de travail.
OriginalL'auteur
Si vous avez tout le contenu dans le tableau puis supprimer tout le contenu de la div wrapper conteneur dans votre code. puis commencer à ajouter le reçu divs un par un:
Si cela ne fonctionne pas alors regarder dans ce fil qui porte sur le positionnement des éléments par rapport à d'autres éléments.
OriginalL'auteur