Draggable Jquery et suppression d'éléments du DOM
marcetiennedesch
Messages postés
9
Date d'inscription
Statut
Membre
Dernière intervention
-
Nexii Messages postés 338 Date d'inscription Statut Membre Dernière intervention -
Nexii Messages postés 338 Date d'inscription Statut Membre Dernière intervention -
Salut !
Pourriez-vous m'aider ?
J'ai plusieurs DIV contenant chacune une image d'un personnage avec son nom.
Chacune de ces DIV est en Draggable, et elles sont toutes contenues dans une DIV générale formant le cadre maximum d'évolution.
Tout fonctionne, mais lorsqu'avec une action en Jquery je supprime l'un des personnages, tous les personnages situées en dessous dans le DOM remontent au niveau de leur position (draggable) à l'écran
Auriez-vous une solution pour éviter ça ?
Voici le code correspondant (ce n'est pas l'original, j'ai recréé le truc en plus simple pour poster)
merci !
PS : j'ai déjà posté sur d'autres forums, mais ma question devient urgente pour un développement, et je n'ai pas de réponses actuellement
Pourriez-vous m'aider ?
J'ai plusieurs DIV contenant chacune une image d'un personnage avec son nom.
Chacune de ces DIV est en Draggable, et elles sont toutes contenues dans une DIV générale formant le cadre maximum d'évolution.
Tout fonctionne, mais lorsqu'avec une action en Jquery je supprime l'un des personnages, tous les personnages situées en dessous dans le DOM remontent au niveau de leur position (draggable) à l'écran
Auriez-vous une solution pour éviter ça ?
Voici le code correspondant (ce n'est pas l'original, j'ai recréé le truc en plus simple pour poster)
<div id="contenant">
<div id="perso1" class="move">
<img src=""quot;/styles/perso.jpg" />Perso1</div>
</div>
<div id="perso2" class="move">
<img src=""quot;/styles/perso.jpg" />Perso2</div>
</div>
<div id="perso3" class="move">
<img src=""quot;/styles/perso.jpg" />Perso3</div>
</div>
</div>
<input type="button" id="supp1" value="Supprimer perso1" />
<input type="button" id="supp2" value="Supprimer perso2" />
<input type="button" id="supp3" value="Supprimer perso3" />
<script>
$( function() {
$( ".move" ).draggable();
} );
$('#supp1').click(function() {
$('perso1').remove();
})
$('#supp2').click(function() {
$('perso2').remove();
})
$('#supp3').click(function() {
$('perso3').remove();
})
</script>
merci !
PS : j'ai déjà posté sur d'autres forums, mais ma question devient urgente pour un développement, et je n'ai pas de réponses actuellement
A voir également:
- Draggable Jquery et suppression d'éléments du DOM
- Forcer suppression fichier - Guide
- Photoshop elements gratuit - Télécharger - Retouche d'image
- Suppression compte gmail - Guide
- Suppression page word - Guide
- Suppression pub youtube - Accueil - Streaming
2 réponses
Bonjour,
En gros, tu nous explique ici que si on admet que tes DIV sont l'un en dessous de l'autre, et que tu supprimes celui du haut (disons le perso 1), le perso 2 prendra sa place et c'est ce que tu ne veux pas ?
Si c'est le cas, plutôt que de supprimer l'élément, tu pourrais changer sa propriété CSS. Je pense à "visible:none". L'élément n'est plus visible, mais il existe toujours dans le DOM et garde ses propriétés CSS width/height.
En gros, tu nous explique ici que si on admet que tes DIV sont l'un en dessous de l'autre, et que tu supprimes celui du haut (disons le perso 1), le perso 2 prendra sa place et c'est ce que tu ne veux pas ?
Si c'est le cas, plutôt que de supprimer l'élément, tu pourrais changer sa propriété CSS. Je pense à "visible:none". L'élément n'est plus visible, mais il existe toujours dans le DOM et garde ses propriétés CSS width/height.
Salut !
Pas exactement, je n'ai pas de problèmes à ce que la div 2 prenne la place de la div 1 dans le DOM, mais c'est juste une question de position à l'écran par rapport à un déplacement avec la souris sur la div qui est 'draggable'
Effectivement le fait de masquer la 1 plutôt que la supprimer pourrait résoudre le truc, mais j'ai besoin qu'elle n'apparaisse plus du tout dans le dom car il s'agit d'un élement de formulaire, qui ne doit pas exister dans le champ POST si on clique sur supprimer le personnage (pour être ensuite traité par PHP)
Pas simple à expliquer !
Bon pour résumer, je cherche simplement à figer une position d'un personnage (en le laissant quand même mobile à la souris)
Pas exactement, je n'ai pas de problèmes à ce que la div 2 prenne la place de la div 1 dans le DOM, mais c'est juste une question de position à l'écran par rapport à un déplacement avec la souris sur la div qui est 'draggable'
Effectivement le fait de masquer la 1 plutôt que la supprimer pourrait résoudre le truc, mais j'ai besoin qu'elle n'apparaisse plus du tout dans le dom car il s'agit d'un élement de formulaire, qui ne doit pas exister dans le champ POST si on clique sur supprimer le personnage (pour être ensuite traité par PHP)
Pas simple à expliquer !
Bon pour résumer, je cherche simplement à figer une position d'un personnage (en le laissant quand même mobile à la souris)
La seule solution que je vois, serait d'utiliser le "visibility:hidden", et d'y ajouter une classe pour l'exclure de ton traitement en PHP par la suite.
Ca donne ça :
https://jsfiddle.net/erwntvjw/3/
Ca donne ça :
https://jsfiddle.net/erwntvjw/3/