Changer design objet déplacé

Le problème exposé dans ce sujet a été résolu.

Bonjour,

J'ai une question toute bête mais ne sachant pas comment ça s'appelle je ne trouve pas la solution…

J'ai un système de drag & drop qui fonctionne mais j'aimerais appliquer certains attributs CSS à ma div qui est en déplacement. Comment faire ?

Merci d'avance ;)

+0 -0

J'ai essayer mais ça s'applique aux deux éléments. En effet ce que j'ai l'impression de déplacer est en fait une image de ma div générer par le navigateur. Donc quand par exemple je fais :

1
2
3
4
5
prods[i].addEventListener('dragstart', function(evnt) {
                 $('#' + this.id).css('background-color', 'red');
                 ...
                 return false;
              }, false);

ça me donne

drag and drop

+0 -0

C'est ton droit… Mais je trouve ça petit :

Je suis entrain d'essayer de développé un site web pour aller de paire avec une application mobile interdit au enfants. C'est pourquoi j'ai pensé que pour préserver la jeunesse de ce forum je devais censurer les termes pouvant choquer. Après je ne voie pas en quoi le thème d'un site (du moment qu'il reste légal) devrais influencer l'aide technique qu'on peut recevoir pour le dév' de celui-ci.

Sinon pour revenir au problème j'ai bien trouvé une solution : générer une image avec htlm2canvas et utiliser la fonction (sur l’événement start) :

1
dataTransfer.setDragImage(dragImg, 40, 40);

Mais bon… Pas totalement convaincu vu comment ça alourdi le code…

+0 -0

C’est plus une amélioration de ta solution avec html2canvas qu’une réelle nouvelle idée, mais on peut dessiner du html sur un canvas sans parser le tout à la main: //developer.mozilla.org/[etc]/Dessiner_des_objets_DOM_dans_un_element_canvas

C’est (un peu) tiré par les cheveux, mais ça reste plus propre à mes yeux.

edit des années plus tard: mon pseudo de l’époque c’était wwwpcfr ↓↓

+0 -0

Heureux de voir que certain ont encore envie de m'aider ;)

Je l’essayerai également quand j'aurais un peu de temps. Sinon j'ai aussi trouvé une piste pour une méthode encore plus propre (selon moi) :

1
2
3
4
5
var crt = this.cloneNode(true);
crt.style.backgroundColor = "white";
crt.style.position = "absolute"; crt.style.top = "-500px"; crt.style.right = "0px";
$("#liste-cfait").append(crt);
evnt.dataTransfer.setDragImage(crt, 0, 0);

Je vais essayer de vous tenir au courant.

PS : Ton pseudo me dérange à un point que je l'admire.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte