Page 1 sur 1

jquery , 2 div draggable l'un dans l'autre

Posté : 13 avr. 2010, 07:48
par pierreC
Hello à tous,

je fais des draggable en jquery UI sur un div, et dans ce même div j'ai un autre div draggable. (en résumé un div dans un div)

Mon premier div se drag très bien, par contre quand je souhaite dragger le 2 eme le premier suit avec.

Mieux qu'un long discours un exemple : http://www.coustillas.com/testdiv.htm

le bug se produit sous IE7, pas FF.


des idées ?

Merci

Re: jquery , 2 div draggable l'un dans l'autre

Posté : 13 avr. 2010, 14:54
par Nours312
hello, en fait, je sais pas comment ça tourne sous JQuery (j'ai pas regardé non plus) mais le principe est que lorsque tu drag le premier, et le sort du second, il faut aussi qu'il ne soit plus son "enfant" mais devienne l'"enfant" de l'élément dans lequel il a été "droppé" ...

actuellement, lorsque tu déplace un élément, il reste dans la même hiérarchie (structurel de la page) tu ne fait que modifier les attributs css top/left ...

j'espère que tu me comprends ^^ après relecture ça semble floooo :mrgreen:

@+

Résolut : jquery , 2 div draggable l'un dans l'autre

Posté : 13 avr. 2010, 15:27
par pierreC
Merci nours,

j'ai trouvé une astuce en lisant la doc officiel de jquery qui me vient bien, en changeant légèrement le sujet.

Pour bouger la div parent il faut cliquer sur un text précis (entre balise <h4>) et non plus n'importe où dans la div :

Code : Tout sélectionner

<div id="div_parent" style="border:1px solid;width:400px;height:200px"> <h4>click here to move</h4> <br/><br/> <div id="div_enfant" style="border:1px solid;width:300px;height:50px;z-index:15"> ceci est la div enfant et quand <br/>on la bouge sous ie c'est pas beau </div> </div> <script> $("#div_parent").draggable({ handle: 'h4' }); $("#div_enfant").draggable();

Je laisse mon site encore quelque temps pour ceux qui veulent voir le résultat.

a+

Re: jquery , 2 div draggable l'un dans l'autre

Posté : 13 avr. 2010, 15:38
par Nours312
heuu ... chez moi elles sont toujours couplées ... (FF)