Enregistrer drag n drop

cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009 - 13 févr. 2008 à 03:44
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009 - 30 juil. 2008 à 18:14
Bonjour,
Je voudrais savoir comment enregistrer la position de mes images aprés un drag n drop.
Que lorsque je réaffiche ma page mes images soient là oû je le voulais.

Voici le script de Petole Team ( merci à lui).

<script type="text/javascript">
var DRAG_Objet = null;
var O_Drag = new Object();
var Zindex = 6;
//-- Definition zone de DRAG
var W_Top    = 500;
var W_Left   = 2;
var W_Right  = 1050;
var W_Bottom = 17;
//--------------------------
function isDRAG_Objet( obj_){
  while( obj_){
    var szClass = obj_.className;
    if( szClass)
     
        return( obj_)
    obj_ = obj_.parentNode;
  }
  return( null);
}
//------------------
function DRAG_Stop(){
  if( DRAG_Objet){
    DRAG_Objet = null;
  }
}
//-------------------
function DRAG_Move(e){
  if( DRAG_Objet){
    if( e) event = e;
    //-- Position d'affichage
    var PosX = event.clientX +O_Drag.left -O_Drag.clic_X;
    var PosY = event.clientY +O_Drag.top  -O_Drag.clic_Y;
    //-- Test si dans Zone
    if( PosX > W_Left)
      if(( PosX +O_Drag.width) < W_Right)
        DRAG_Objet.style.left = PosX +"px";
    if( PosY > W_Top)
      if(( PosY +O_Drag.height) < W_Bottom)
        DRAG_Objet.style.top  = PosY +"px";
    return false;
  }
}
//--------------------
function DRAG_Start(e){
  var Obj = e? e.target : event.srcElement;
  //-- Test si Objet dragable
  if(( Obj = isDRAG_Objet( Obj))){
    if( e) event = e;
    DRAG_Objet = Obj;
    //-- Recup Info sur objet
    O_Drag.width  = Obj.offsetWidth;
    O_Drag.height = Obj.offsetHeight;
    O_Drag.left   = Obj.offsetLeft;
    O_Drag.top    = Obj.offsetTop;
    //-- Position du click de depart
    O_Drag.clic_X = event.clientX;
    O_Drag.clic_Y = event.clientY;
   
    return false;
  }
}
//-- Evenement sur Mouse
document.onmousedown = DRAG_Start;
document.onmouseup   = DRAG_Stop;
document.onmousemove = DRAG_Move;
</script>
</HEAD>



<?php


$username= $userrow["username"];
$donnees= mysql_query("SELECT accessoire2,acc2,nplante1,nplante2,nplante3,nplante4,nplante5,nplante6,nplante7,nplante8,nplante9,pla1,pla2,pla3,pla4,pla5,pla6,pla7,pla8,pla9 FROM anni_plante WHERE username='$username'");
$reponse = mysql_fetch_array ($donnees);


$aff = 1;




while ($aff<= $reponse ['accessoire2'])
{
?>

name="pa" >

<?php
$aff++;
}


$aff = 1;




while ($aff<= $reponse ['nplante1'])
{
?>

name="pa" >

<?php
$aff++;
}


$aff = 1;




while ($aff<= $reponse ['nplante2'])
{
?>

name="pb" >

<?php
$aff++;
}

Merci.

41 réponses

cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
22 févr. 2008 à 18:55
Bon j'ai essayé ceci qui fonctionne pour le cookie 959px_968px
Mais l'image reste collée à la souris et ne se replace pas aprés avoir raffraichit.

function DRAG_Stop(){
 
  var da = new Date();
        var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
        document.cookie = DRAG_Objet.style.left +"_"+ DRAG_Objet.style.top+
                            ";expires=" + d.toGMTString() + ";" ;
 



}
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
24 févr. 2008 à 01:42
Voila j'ai réussi en faisant :

function DRAG_Stop(){
 
  var da = new Date();
        var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
        document.cookie = DRAG_Objet.style.left +"_" + DRAG_Objet.style.bottom +";expires=" + d.toGMTString() + ";" ;
 DRAG_Objet=null;



}


Maintenant comment je fais pour créer un ou des cookies pour plusieurs images, j'ai pensé récupérer l'id de l'objet et le mettre comme nom du cookie.

ex:   document.cookie.id[1] 
         document.cookie.id[2]
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
24 févr. 2008 à 08:59
un cookie c'est une chaine de caractères      point barre
mémoriser "10_12=25_17=359_258"   par exemple
    split sur =
    et sur chaque poste split sur _
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
25 févr. 2008 à 02:27
Merci,

J'ai fais ceci mais cela ne fonctionne pas

function DRAG_Stop(){// cette fonction reste inchangée
  
  var da = new Date();
        var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
        document.cookie = DRAG_Objet.style.left +"_" + DRAG_Objet.style.bottom +";expires=" + d.toGMTString() + ";" ;
 DRAG_Objet=null;



}
_______________________________________________________________________________
function posImg()
    {    if (document.cookie)
        {   var adr=document.cookie.split("_=_");//modifié
            
            document.getElementById("dessin").style.left=adr[0];
   document.getElementById("dessin1").style.left=adr[2];//2 pour le deuxieme left
        }
    }
 ___________________________________________________________________________________







//Ma deuxieme image
<script type="text/javascript">posImg()</script>



Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
25 févr. 2008 à 09:16
pas si loin que cela, mais
    tu ne mémorises, pas dans le cookie, les 2 adresses
    split non correct   : 1 split pour éclater adresse 1 et adresse2
                                  1 split sur chaque poste pour éclater position horzontale et verticale
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
25 févr. 2008 à 19:27
Bonjour et merci,

Je ne comprends pas la syntaxe que je dois écrire?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
26 févr. 2008 à 10:38
la syntaxe de quoi ?
    pour mémoriser plusieurs adresses ?
            ce n'est pas un problème de syntaxe, mais un problème de "logique".
    split ? tu n'as pas de doc ?    ici sur SelfHTML
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
26 févr. 2008 à 20:06
Bonjour et merci .


Cool cette doc je me la garde sous le coude, merci.


Alors pour le split j'ai compris, il lit ce qu'il y a entre " ", avec un caractère délimitateur.


Mon soucis est que quand je bouge une image, le cookie se créé dés que je relache la souris.
Il attend pas que j'ai bougé mes 2 images.
De plus je comprends pas comment il sait que telle image va la et l'autre ici, car ce sont 2 images différentes et dans le cookie il n'y a pas leur id.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
27 févr. 2008 à 09:25
certes, rien ne t'empêches de prendre les coordonnées de toutes les images
    et pas uniquement celle qui a bougé.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
3 mars 2008 à 08:48
Une petite aide s'il vous plait
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 mars 2008 à 09:22
Bonjour,

    ben... je pensais que ton frère aller payer pour ça ?
    il a mis un message.... j'ai écris,   sans réponse à ce jour.

    sinon, il te reste à faire ce que je disais : mémoriser dans le cookie
       les adresses de toutes les images, et pas uniquement celle qui veint de bouger.

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
3 mars 2008 à 22:37
heu j'ai pas de frère, moi.

Mon soucis est là comment récupérer la position de toutes mes images, j'ai essayé de faire avec = ou juste le left ect...
Mais j'ai meme pas l'id de mon image.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 mars 2008 à 07:47
il te reste à leur en mettre ou à utiliser le name, ou getElementsByTagname ou....
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
s'il se nettoie, c'est donc ton frère.
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
4 mars 2008 à 23:18
Bonjour,
J'ai essayé avec get element by id, mais le cookie reste le même.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 mars 2008 à 07:49
si tu ecris ça comma ça "get element by id".... c'est normal.
sinon, c'est qu'il te reste des erreurs.
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
6 mars 2008 à 16:42
Bonjour,
Non je lécris correctement mais tout fonctionne pour 1 image mais comment je fais pour plusieurs images?
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
6 mars 2008 à 17:36
Bonjour,

comment je fais pour plusieurs images?
pareil que pour une mais pour plusieurs ;O)

Si l'écriture du cookie est dans la fonction DRAG_Stop il te suffit d'écrire
document.cookie = id_image + "=PosX:" + valeur en X +",PosY:" +valeur en Y;
le navigateur les écrira bout à bout si elles sont différentes

Cool cette doc je me la garde sous le coude, merci.

il ne suffit pas de la garder sous le coude un peu de lecture par exemple
http://fr.selfhtml.org/javascript/objets/document.htm#cookie
t'apprendra l'essentiel voir plus si affinité



;O)
0
marcbon Messages postés 10 Date d'inscription mardi 26 février 2008 Statut Membre Dernière intervention 7 mars 2008
7 mars 2008 à 00:40
bonjour et merci

si j'écris cela :

document.cookie = id_image + "=PosX:" + valeur en X +",PosY:" +valeur en Y;

le cookie ne se créé pas et l'image est bloquée
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
7 mars 2008 à 07:49
>>comment je fais pour plusieurs images?

    pareil que pour une mais pour plusieurs ;O)
petoleteam++;
>>le cookie ne se créé pas et l'image est bloquée
c'est qu'il y a des erreurs !   regarde au moins la console d'erreurs si tu es sous FF,
    active le deboggage si tu es avec IE !
<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_tales Messages postés 104 Date d'inscription jeudi 27 septembre 2007 Statut Membre Dernière intervention 5 octobre 2009
14 mars 2008 à 02:49
quelqu'un peut me faire le script s'il vous plait
0
Rejoignez-nous