11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je pense que mon titre résume assez bien, mais je vais tenter d'expliquer un peu plus ^^

Voila, en fait, je veux pouvoir déplacement un DIV avec le souris (jusque là, pas de soucis, je sais faire), mais que cette div ne puisse être placée que dans certaines zones (DIV) prédéfinies et fixes, sinon elle revient à sa position d'origine.

Mon soucis est que quand je suis en train de déplacer ma DIV volante, c'est celle-ci qui est sous le curseur, le "onmouseover" ne fonctionne donc pas quand je déplace sur une autre DIV.
Comment faire pour détecter que j'aime déplacer ma DIV sur une autre ?

Connaissant les coordonnées des autres div, je pourais faire un petit algo qui vérifie que les positions top et left de ma div en cours de déplacement sont comprises dans une des div pouvant l'accueillir, mais ca me parait un peu lourd...(en meme temps, si j'ai pas le choix...).. donc si quelqu'un avait une autre solution ca serait cool Smiley smile

voila, merci par avance pour vos idées.

bonne journée et code coding
Hello,

nihaoma a écrit :
Comment faire pour détecter que j'aime déplacer ma DIV sur une autre ?

Ah ben chacun ses fantasmes hein, si tu aimes déplacer ta «div» sur une autre, on va pas s'amuser à le détecter, on fiche pas les gens ici.

Plus sérieusement, tu peux effectivement vérifier la position de la div que tu dragues (hum...), ou encore la position du pointeur de la souris. Autrement, je vois pas trop.

Qu'est-ce qu'utilisent les scripts existants, ceux de Mootools ou jQuery UI?
Bonjour,
Pour les scripts comme jquery ou mmotools, ils adoptent une autre méthode un peu moins chaotique (à mon avis) que la taille des divs.
Ils simulent le déplacement de ta div en la clonant dans sa position d'arrivée. Et ensuite rejette le déplacement si le parent n'est pas autorisé à accueillir un div déplacé (roh, oui les parents n'aime pas les gendre ayant des gestes déplacés Smiley langue ).

Tu peux du coup facilement limiter les parents avec un sélecteur.
Modifié par masseuro (14 Apr 2009 - 11:05)
Florent V. a écrit :
Hello,


Ah ben chacun ses fantasmes hein, si tu aimes déplacer ta «div» sur une autre, on va pas s'amuser à le détecter, on fiche pas les gens ici.



merci as toi de ne pas me juger sur mes penchants envers le div Smiley confused

A vrai dire, bien que j'y ai penser, je rechigne un peu à me plonger dans les méandres d'un mootools ou d'un jQueryUI ... pas certain d'avoir assez d'aspirine avec moi Smiley cligne


masseuro a écrit :

Pour les scripts comme jquery ou mmotools, ils adoptent une autre méthode un peu moins chaotique (à mon avis) que la taille des divs.
Ils simulent le déplacement de ta div en la clonant dans sa position d'arrivée. Et ensuite rejette le déplacement si le parent n'est pas autorisé à accueillir un div déplacé


Le fait de dupliquer la DIV que je veux déplacer est un simple effet graphique pour le déplacement. A la rigueur ça facilite la remise en place en cas de 'drop' à un emplacement non voulu (il suffit alors de supprimer la div dupliquée), mais ça ne solutionne pas mon principal problème, a savoir celui d'être capable de détecter que je suis à un endroit précis (sur un DIV) pendant le drag.

Je vais tenter de jeter un oeil dans le core de jQuery pour voir comment ils font ça...

En tous cas, merci à vous 2 d'avoir pris le temps de vous pencher sur mon soucis.