69 votes

HTML5 Drag and Drop - Pas de transparence ?

Lorsque je glisse et dépose un élément sur ma page, celui-ci devient "fantôme". En fait, il obtient une certaine valeur de transparence.

Y a-t-il un moyen de le faire opacity: 1; ?

0voto

yelendi suresh Points 1

Cacher l'image originale en utilisant event.dataTransfer.setDragImage(new Image(), 0, 0); au début du déplacement. onDrag récupère l'image fantôme, met à jour la position à l'aide de event.pageX , event.pageY

-2voto

PelleLV Points 364

Ne me demandez pas pourquoi cela fonctionne, mais si vous définissez l'opacité à 0,99999 au lieu de 1, cela fonctionne pour moi. Je suis vraiment curieux de savoir pourquoi, alors si quelqu'un le sait, merci de me faire part de vos réflexions.

-4voto

dhuckle3 Points 1

Si vous utilisez JavaScript, dans la fonction qui gère l'événement dragStart, incluez l'opacité du style à 1, par exemple :

function dragStartHandler(e) {
   this.style.opacity = '1.0';
}

-7voto

RussellHarrower Points 1151

Suggestion, faites ce qui suit, maintenant pour cela j'utilise jQuery, essayez, avant de dire que quelque chose ne fonctionne pas, nous ne sommes pas ici pour donner des réponses, mais ici pour vous indiquer la bonne direction.

function dragStartHandler(e) { 
   $("span.{CLASS}")addClass('overdrag'); 
} 

vous devez alors trouver un moyen d'indiquer qu'il a cessé de traîner et s'est mis en position, puis de RemoveClass('overdrag') ;

Ce n'est pas difficile à faire, donc je pense que vous devriez être capable de le faire. Je tiens à remercier @DonaldHuckle car c'est vraiment sa solution et non la mienne.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X