IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Drag Drop image


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 9
    Par d�faut Drag Drop image
    Bonsoir,
    je voudrais effectuer un dragdrop pr deplacer des objets :
    le souci est que ces objets cr�es ne bougent pas : voici mon code :
    fichier html :
    Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    <img id="salle" src = "salle.jpg" alt = "salle">;
    <img id="micro" src = "mic.jpg" alt = "micro">;
    <img id="table" src = "table.jpg" alt = "table">;
     
    <div id="micro"  onmousedown="beginDrag(this,event);" onmousemove="drag(event);" onmouseup="endDrag();"></div>
    //idem pour table

    Fichier JS:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    function beginDrag(p_obj,e){
    	isDragging = true;
    	objectToDrag = p_obj;
    	getPositionCurseur(e);
    	ecartX = curX - parseInt(objectToDrag.style.left);
    	ecartY = curY - parseInt(objectToDrag.style.top);
    }
    function getPositionCurseur(e){
    	//ie
    	if(document.all){
    		curX = event.clientX;
    		curY = event.clientY;
    	}
     
    	//mozilla
    	if(document.getElementById){
    		curX = e.clientX;
    		curY = e.clientY;
    	}
    }
    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';
    }
    function endDrag(){
    	isDragging = false;
    }
    Fichier css:
    Code CSS : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    #micro, #salle, #table{
    	position: absolute;
    	cursor: move;
    }
    Je ne comprends vraiment pas d'o� vient le pb, merci de votre aide !!

  2. #2
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 9
    Par d�faut
    voila la r�ponse, j'ai 2 id pr un meme objet
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <img id="table" src = "table.jpg" alt = "table" onmousedown="beginDrag(this,event);" onmousemove="drag(event);" onmouseup="endDrag();">
    Par contre, comment g�re-t'on le fait qu'une image se place audessus d' une autre? Car dans mon cas, lors du placement du micro, il se retrouve en dessous de l'objet bureau . Merci de votre aide

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Par d�faut
    Il faut que tu attribue � l'objet que tu es en train de dragger un z-index sup�rieur aux autres.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function beginDrag(p_obj,e){
    	isDragging = true;
    	objectToDrag = p_obj;
    	getPositionCurseur(e);
    	ecartX = curX - parseInt(objectToDrag.style.left);
    	ecartY = curY - parseInt(objectToDrag.style.top);
    	objectToDrag.style.zIndex = 100;
    }
    n'oublie pas de le remettre a 0 ou 1 a la fin du drag

    Si je peut �galement me permettre de te donner un conseil pour optimiser ton drag & drop, il faut g�rer celui ci plutot de maniere temporelle.
    Tu as d�ja du remarquer que dans cet exemple, si tu bouge la souris tr�s vite, ton objet va faire nimporte koi. C'est parceque tu lui donne une action � faire � la fois.
    Je te conseille d'utiliser ceci :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    function beginDrag(p_obj,e){
    	isDragging = true;
    	objectToDrag = p_obj;
    	getPositionCurseur(e);
    	ecartX = curX - parseInt(objectToDrag.style.left);
    	ecartY = curY - parseInt(objectToDrag.style.top);
    	objectToDrag.style.zIndex = 100;
    	document.onmousemove = drag;
    	document.onmouseup = endDrag;
    De cette mani�re, lors du d�but du drag (c a d onmousedown) ET que tu bouge la souris cela d�clenchera l'action en question.
    Tu verras ca marche bcp mieux.
    Bye

  4. #4
    Membre averti
    Profil pro
    �tudiant
    Inscrit en
    D�cembre 2006
    Messages
    9
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 9
    Par d�faut
    Merci walidnat pour le z index et le pr�cieux suppl�ment � mon drag drop !!!
    youpi

  5. #5
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    77
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 77
    Par d�faut
    de rien
    c'est toujours un plaisir

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Drag & drop image
    Par stefde3 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 03/06/2014, 20h36
  2. [Delphi] Drag Drop image conversion
    Par ouiouioui dans le forum Contribuez
    R�ponses: 0
    Dernier message: 10/01/2011, 20h10
  3. R�ponses: 3
    Dernier message: 05/12/2008, 11h17
  4. [AJAX] Drag Drop Image Horizontale
    Par Zadoner dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 12/09/2007, 21h38
  5. Drag & Drop d'un TImage avec image "glissante"
    Par jcs2 dans le forum Composants VCL
    R�ponses: 3
    Dernier message: 15/10/2005, 22h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo