Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1509 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [html, js] pb de drag&drop : super code inside :) si ca peu aider...

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[html, js] pb de drag&drop : super code inside :) si ca peu aider...

n°296980
wouatouwou​atou
Posté le 30-01-2003 à 12:28:53  profilanswer
 

g une image contenu dans une div
la div est 'draggable'.
mon pb est que lorsque je drag via la div directement (click depuis la div)... ca marche bien et quand je le fais via l'image (click depuis l'image)... ca buggue !!!
 
En fait, pour n'importe quel élément contenu dans le div.. ca fait pareil... mon drag foire...
Et ca me le fait sous ns et pas sous ie... :(
 
p.s: le drag est initialisé via la div (sur un onmouseover).
 
Est-ce un bug de ns ou alors fo til koment faire ?
 
please.. help :jap: liens sur le sujet ou autre serait cool aussi :D


Message édité par wouatouwouatou le 30-01-2003 à 12:55:47
mood
Publicité
Posté le 30-01-2003 à 12:28:53  profilanswer
 

n°296984
youdontcar​e
Posté le 30-01-2003 à 12:35:09  profilanswer
 

>> mon drag foire...
 
foire comment ? du code, une page à montrer ?
 
il y a pas mal de variables de position dans l'objet event (x, offsetX, clientX, screenX), dont certaines relatives à l'objet qui génère l'événement (eg l'image au lieu du div).

n°296995
wouatouwou​atou
Posté le 30-01-2003 à 12:51:59  profilanswer
 

peu pas mettre en ligne...  :(
 
mais voila le code.. si vous pouvez le tester :)
 
Euh.. ca marche pas sous ns.. mais sous ie ca passe..
Je mexplique... sous ns (ns6), ca marche pas quand on clique sur l'image mais ca passe si on click sur la div elle-meme...
pour l'image.. changez l'url.
 
script js:

Code :
  1. function dndEvt(obj, strEvt, strFun, blnType)
  2. {
  3.   if ( obj.attachEvent )
  4.     eval('obj.' + ( ( blnType ) ? 'attach' : 'detach' ) + 'Event(strEvt,' + strFun + ')');
  5.   else
  6.   {
  7. obj.oldEvts[strEvt] ) );
  8.     eval('obj.' + strEvt + '=' + ( ( blnType ) ? strFun : 'null' ) );
  9.   }
  10. }
  11. function dndMXY(evt)
  12. {
  13.   evt = ( evt ) ? evt : window.event;
  14.   return ( evt.clientX != null ) ? [evt.clientX, evt.clientY] : [evt.pageX, evt.pageY];
  15. }
  16. function dndStart(evt)
  17. {
  18.   var arrMXY = dndMXY(evt),
  19.       obj = document.dndObj;
  20.   document.dndDrag = true;
  21.   document.dndDMXY = [arrMXY[0] - obj.offsetLeft, arrMXY[1] - obj.offsetTop];
  22.   dndEvt(document,'onmousemove','dndMove',true);
  23. }
  24. function dndMove(evt)
  25. {
  26.   var arrMXY = dndMXY(evt),
  27.       obj = document.dndObj;
  28.   obj = ( obj.style ) ? obj.style : obj;
  29.   obj.left = arrMXY[0] - document.dndDMXY[0];
  30.   obj.top = arrMXY[1] - document.dndDMXY[1];
  31.   return false;
  32. }
  33. function dndStop()
  34. {
  35.   document.dndDrag = false;
  36.   dndEvt(document,'onmousemove','dndMove',false);
  37. }
  38. function dndInit(obj)
  39. {
  40.   if ( !obj || document.dndDrag )
  41.     return;
  42.   document.dndObj = obj;
  43.   dndEvt(obj,'onmousedown','dndStart',true);
  44.   dndEvt(document,'onmouseup','dndStop',true);
  45. }


 
et le code html :

Code :
  1. <html>
  2. <head>
  3. <title>Drag&Drop</title>
  4. <style>
  5. DIV { background-color : #ffff00; width : 200; height : 100; left : 350; top : 300; position : absolute; }
  6. BODY { text-align : center; }
  7. </style>
  8. </head>
  9. <body><div id="divDND1" onmouseover="dndInit(this);" name="divDND1">blabla<br><img src="images/welcome2.gif"></img></div></body>
  10. </html>

n°297023
youdontcar​e
Posté le 30-01-2003 à 13:53:00  profilanswer
 

rajoute evt.preventDefault(); dans ton dndStart(). c'est l'équivalent DOM de mettre returnValue = false d'ie (ou return false dans le code onmouseXX=".... return false" ).
 
http://mazinger.technisys.com.ar/p [...] ompat.html


Message édité par youdontcare le 30-01-2003 à 13:54:37
n°297044
wouatouwou​atou
Posté le 30-01-2003 à 14:17:23  profilanswer
 

cool !!! Grand merci... :jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [html, js] pb de drag&drop : super code inside :) si ca peu aider...

 

Sujets relatifs
[HTML] Comment aligner le centre de ma page ?Question utilisation d'un lexique (en html)
[HTML N00b] Faire barre de menu verticale...[PHP HTML] Référencement de page index en php
[Java] - Help Méchament Needed en post #4 - (projet CO inside) :/[HTML] Légende d'un menu qui apparait dans un cadre différent
[html hard core newbie] Problème pour juxtaposer des images...[HTML] Précharger une animation flash avant de la lancer
[html] validation de formulaire lorsqu'on presse entrerCertains Webmasters ont la tête dans les nuages... Faille inside
Plus de sujets relatifs à : [html, js] pb de drag&drop : super code inside :) si ca peu aider...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR