Drag&drop gestion des plans (javascript)
Fermé
hellotk75
Messages postés
5
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011
-
22 mars 2011 à 18:39
hellotk75 Messages postés 5 Date d'inscription mardi 22 mars 2011 Statut Membre Dernière intervention 23 mars 2011 - 23 mars 2011 à 15:10
hellotk75 Messages postés 5 Date d'inscription mardi 22 mars 2011 Statut Membre Dernière intervention 23 mars 2011 - 23 mars 2011 à 15:10
A voir également:
- Drag&drop gestion des plans (javascript)
- Air drop - Guide
- Share drop - Télécharger - Téléchargement & Transfert
- Telecharger javascript - Télécharger - Langages
- Logiciel gestion photo gratuit - Guide
- Logiciel pour faire des plans gratuit - Guide
6 réponses
akelo
Messages postés
52
Date d'inscription
jeudi 22 janvier 2009
Statut
Membre
Dernière intervention
28 mars 2011
11
23 mars 2011 à 00:51
23 mars 2011 à 00:51
http://formation-sites.blogspot.com/p/javascript.html
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
23 mars 2011 à 08:40
23 mars 2011 à 08:40
avec zIndex
objectToDrag.style.zIndex = 100;
objectToDrag.style.zIndex = 100;
hellotk75
Messages postés
5
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011
23 mars 2011 à 09:55
23 mars 2011 à 09:55
voici ce que j'ai fais :
j'ai placé le zIndex dans mon javascript :
et dans mon body :
mais ça n'a pas l'air de marcher...
j'ai placé le zIndex dans mon javascript :
function beginDrag(p_obj,e){ var t=e.target?e.target:e.srcElement; // Pour les clics sur un noeud texte de Mozilla et autres... while (t.nodeType!=1) t=t.parentNode; if (t.tagName.toLowerCase()=='a') return true; isDragging = true; objectToDrag = p_obj; getPositionCurseur(e); ecartX = curX - parseInt(objectToDrag.style.left); ecartY = curY - parseInt(objectToDrag.style.top); } function drag(e){ var newPosX; var newPosY; if(isDragging == true){ getPositionCurseur(e); newPosX = curX - ecartX; newPosY = curY - ecartY; objectToDrag.style.left = newPosX + 'px'; objectToDrag.style.top = newPosY + 'px'; objectToDrag.style.zIndex = 100; } } function endDrag(){ isDragging = false; return true; }
et dans mon body :
<body onmousemove="drag(event);"> <div id="img1" class="drag" onmousedown="beginDrag(this,event);" onmouseup="endDrag();"><a href="image.jpg" rel="lightbox" style="z-index:0;"></a></div> <div id="img2" class="drag" onmousedown="beginDrag(this,event);" onmouseup="endDrag();"><a href="image2.jpg" rel="lightbox" style="z-index:0;"></a></div> <script type="text/javascript"> positionne('img1', '290px', '84px'); positionne('img2', '140px', '310px'); </script> </body>
mais ça n'a pas l'air de marcher...
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
Modifié par maka54 le 23/03/2011 à 14:24
Modifié par maka54 le 23/03/2011 à 14:24
voilà un exemple de drag and drop qui marche en 2 pages
index.php :
et drag.js :
je viens d'éditer, réessayes comme çà
index.php :
<html> <head> <script type="text/javascript" src="drag.js"></script> <script type="text/javascript"> var Z_index = 0; function init(){ var cont = document.getElementById("content"); var divs = cont.getElementsByTagName("div"); for(var i=0;i<divs.length;i++){ Elt.drag(divs[i]); } } </script> <style type="text/css"> #img1{background-color:#ff0000;width:50px;height:50px;position:absolute;} #img2{background-color:#00ff00;width:50px;height:50px;position:absolute;} </style> <body onload="init();"> <div id="content"> <div id="img1" class="drag" ></div> <div id="img2" class="drag" ></div> </div> </body> </html>
et drag.js :
var Elt = { MyObj : null, x_start : null, y_start : null, drag : function(o) { Elt.MyObj = o ; Elt.MyObj.onmousedown = Elt.start; }, start : function(e) { Elt.MyObj = this; Z_index++; Elt.MyObj.style.zIndex = Z_index; document.onmousemove = Elt.move; document.onmouseup = Elt.end; return false; }, move : function(e) { e = Elt.GetEvent(e); Elt.MyObj.style.opacity = 0.5; var curX = e.clientX; var curY = e.clientY; Elt.MyObj.style.top = (curY) + 'px'; Elt.MyObj.style.left = (curX) + 'px'; return false; }, end : function() { Elt.MyObj.style.opacity = 1; document.onmousemove = null; document.onmouseup = null; Elt.MyObj = null; }, GetEvent : function(e) { if (!e) e = event; if(typeof(e.clientX) == 'undefined') e = window.event; return e; }, };
je viens d'éditer, réessayes comme çà
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hellotk75
Messages postés
5
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011
23 mars 2011 à 13:55
23 mars 2011 à 13:55
Sur cet exemple le bloc rouge reste toujours au second plan,
moi je souhaiterais que lorsqu'on clique sur une de mes images, elle se mette directement au premier plan
moi je souhaiterais que lorsqu'on clique sur une de mes images, elle se mette directement au premier plan
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
23 mars 2011 à 14:08
23 mars 2011 à 14:08
je viens d'éditer, réessayes comme çà
hellotk75
Messages postés
5
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011
23 mars 2011 à 14:14
23 mars 2011 à 14:14
Là je n'ai plus rien qui marche (même en fermant la balise </head> ;))
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
23 mars 2011 à 14:24
23 mars 2011 à 14:24
pardon, j'ai placé une variable au mauvais endroit, rerpend index.php, j'ai réediter
hellotk75
Messages postés
5
Date d'inscription
mardi 22 mars 2011
Statut
Membre
Dernière intervention
23 mars 2011
Modifié par hellotk75 le 24/03/2011 à 10:50
Modifié par hellotk75 le 24/03/2011 à 10:50
voilà c'est exactement ce à quoi je veux arriver,
cependant je tiens à reprendre mon code javascript car il premet d'annuler le simple clic pour permettre à mon lightbox d'être activer par double clic,
j'ai donc fait un essai en suivant le code du zindex que m'as donné mais sans résultat :(
et mon html
cependant je tiens à reprendre mon code javascript car il premet d'annuler le simple clic pour permettre à mon lightbox d'être activer par double clic,
j'ai donc fait un essai en suivant le code du zindex que m'as donné mais sans résultat :(
function positionne(p_id, p_posX, p_pos_Y){ document.getElementById(p_id).style.left = p_posX; document.getElementById(p_id).style.top = p_pos_Y; } var dragobject={ x:0, y:0, offsetx:null,offsety:null,targetobj:null,dragapproved:0, initialize:function(){ document.onmousedown=this.drag document.onmouseup=function(){this.dragapproved=0; this.targetobj.style.zIndex='';}} ,drag:function(e){ var evtobj=window.event? window.event:e this.targetobj=window.event? event.srcElement:e.target while (this.targetobj.className!="drag" && this.targetobj.tagName!="BODY") this.targetobj=this.targetobj.parentNode if (this.targetobj.className=="drag"){ this.dragapproved=1; this.targetobj.style.zIndex='999'; if (isNaN(parseInt(this.targetobj.style.left))){this.targetobj.style.left=0} if (isNaN(parseInt(this.targetobj.style.top))){this.targetobj.style.top=0} this.offsetx=parseInt(this.targetobj.style.left) this.offsety=parseInt(this.targetobj.style.top) this.x=evtobj.clientX this.y=evtobj.clientY if (evtobj.preventDefault) evtobj.preventDefault() document.onmousemove=dragobject.moveit}} ,moveit:function(e){ var evtobj=window.event? window.event:e if (this.dragapproved==1){ this.targetobj.style.left=this.offsetx+evtobj.clientX-this.x+"px" this.targetobj.style.top=this.offsety+evtobj.clientY-this.y+"px" return false}} } dragobject.initialize()
et mon html
<head> <script type="text/javascript" src="lightbox.js"></script> <script type="text/javascript" src="dnd.js"></script> <style type="text/css"> .drag { display:block; position:relative; border:0; } </style> </head> <body onmousemove="drag(event);"> <div id="img1" class="drag" onmousedown="beginDrag(this,event);" onmouseup="endDrag();"><a href="image.jpg" rel="lightbox"></a></div> <div id="img2" class="drag" onmousedown="beginDrag(this,event);" onmouseup="endDrag();"><a href="image2.jpg" rel="lightbox"></a></div> <script type="text/javascript"> positionne('img1', '290px', '84px'); positionne('img2', '140px', '310px'); </script> </body>