cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDernière intervention 5 octobre 2009
-
13 févr. 2008 à 03:44
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDerniè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;
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDerniè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() + ";" ;
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDerniè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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDerniè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
}
}
___________________________________________________________________________________
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDerniè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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDerniè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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 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.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 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]