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_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 13 févr. 2008 à 10:33
Bonjour,
quand on quitte la page, mémoriser leurs positions, peut-être dans un cookie ?
et les repositionner au réaffichage
cookie regarder document.cookie
position : clientTop et Left , ou offsetTop et Left ou autres ( exemple ici )
<hr /> Cordialement Bul «mon Site» «M'écrire»
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDernière intervention 5 octobre 2009 13 févr. 2008 à 18:15
Merci en fait je ne connait pas le js, encore moin un cookie.
J'ai compris que document.cookie c'est pour appeller un cookie, mais comment et comment le faire.
position en js je ne sais pas faire.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 18 févr. 2008 à 09:54
tu peux obtenir de l'aide si tu fais un ch'tit quelque chose.
ne compte sur personne pour tout te faire.
lis les docs ( cookies = 3 lignes ! avec les exemples !!! ), essaye,
et si ça plante, tu reviens avec ce que tu as fait, on t'aidera à
mettre au point.
( enfin... je parle pour moi là.... peut-être d'autres intervenants
vaudront bien te faire ce que tu veux )
<hr /> Cordialement Bul [mon Site] [M'écrire]
Vous n’avez pas trouvé la réponse que vous recherchez ?
</li><li class="MsoNormal" style="BACKGROUND: white; MARGIN: 0cm 0cm 10pt; LINE-HEIGHT: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt">?></li></ol>Bon mon soucis est que la même image est répétée grace à une boucle.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 19 févr. 2008 à 10:15
_ curieux de mémoriser un cookie en javascript,
et de tenter de l'utiliser en php....
_ un cookie, c'est un string, unique pour un utilisateur sur un site.
_ pour positionner un élément, on use p(ar exemple) de
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 19 févr. 2008 à 15:51
tu as lu ce que j'ai écris ?
je répète autrement ?
_ si on crée un cookie en javascript, autant le réutiliser en javascript
_ pour un utilisateur donné, sur un site donné, ce qu'on appelle cookie c'est
un string UNIQUE, mémorisé sur le micro client ( dans un fichier
unique aussi pour un utilisateur donné, sur un site donné )
_ pour positionner un div ( par exemple ! un img c'est pareil à la balise près )
là où l'on veut il faut faire :
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 20 févr. 2008 à 09:55
aller.... ch'tit exemple,
uniquement coté javascript, pour une seule image !
<head>
<script type="text/javascript">
function cooCre()
{ var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = document.getElementById("v").value + "_" + document.getElementById("h").value +
";expires=" + d.toGMTString() + ";" ;
}
function posImg()
{ if (document.cookie)
{ var adr=document.cookie.split("_");
document.getElementById("dessin").style.top=adr[0];
document.getElementById("dessin").style.left=adr[1];
}
}
</script>
</head>
Vertical :
horizontal:
1° si tu veux faire la même chose pour plusieurs images,
il faut mémoriser h image 1_v image 1,h image 2_v image 2,...h image n_v image n
et reprendre ces valeurs
2° si tu veux réutiliser le cookie coté php, à adapter ?
mais dans ce cas, il vaudrait mieux stocker ces adresses dans un fichier du serveur
( en fonction de l'utilisateur ), les cookies peuvent être refusés
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 21 févr. 2008 à 16:18
>>J'ai corrigé le "_" à value h.
il n'y avait rien à corriger. tel quel ça baigne.
>>la position horizontale ne fonctionne pas.
si si. utilise tel quel, sans rien toucher.
>>essayé en mettant un div width= 500 et height= 300.
pas de div dans mon exemple.
si tu fais des modifs et qu'on ne les a pas...
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDernière intervention 5 octobre 2009 21 févr. 2008 à 18:15
Heu oui pour etre plus clair je souhaiterais que la function cooCre() se fasse automatiquement sans le bouton créer, j'ai juste réussi pour la position.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 22 févr. 2008 à 11:23
quand/où... connais tu la position de tes images ?
dès que tu les bouge,
ce ne serait pas dans la function DRAG_Move par exemple ?
"met à jour" le cookie à cet endroit.
<hr /> Cordialement Bul [mon Site] [M'écrire]
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDernière intervention 5 octobre 2009 22 févr. 2008 à 15:47
Bonjour,
J'ai essayé ceci mais erreur sur page et image non draggable.
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.bottom -O_Drag.clic_Y;
var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = PosX.value + "_" + PosY.value +
";expires=" + d.toGMTString() + ";" ;
//-- 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;
}
}
et si je modifie le cookie :
function cooCre()
{ var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = O_Drag.left.value +"_"+ O_Drag.top.value+
";expires=" + d.toGMTString() + ";" ;
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 22 févr. 2008 à 15:55
ça veut dire que O_Drag.left.value et O_Drag.top.value n'existent pas.
regarde juste au dessus, comment utilises-tu la position horizontale ( left ) ?
et la position verticale ( top ) elle viendrait d'où ?
<hr /> Cordialement Bul [mon Site] [M'écrire]
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 22 févr. 2008 à 16:14
Bonjour à vous...
...perso je mettrais l'écriture des cookies dans la fonction DRAG_Stop en utilisant DRAG_Objet.style.left et
DRAG
_Objet.style.
top qui sont les positions du DIV au moment ou l'on stop le Drag...
;O)
cs_tales
Messages postés104Date d'inscriptionjeudi 27 septembre 2007StatutMembreDernière intervention 5 octobre 2009 22 févr. 2008 à 18:41
Alors si je fais ca:
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.value +"_"+ DRAG_Objet.style.top.value+
";expires=" + d.toGMTString() + ";" ;
}
L'image reste collée à la souris , erreur sur page
création du cookie = ok mais undefined_undefined
Si je fais ca :
function DRAG_Stop(){
if( DRAG_Objet){
var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = DRAG_Objet.style.left.value +"_"+ DRAG_Objet.style.top.value+
";expires=" + d.toGMTString() + ";" ;
DRAG_Objet = null;
}
}
pas de création du cookie.
erreur sur la page, drag= ok,
et si je fais ca :
function DRAG_Stop(){
if( DRAG_Objet){
var da = new Date();
var d = new Date( Date.parse(da) + ( 1000*60*60*24*365 ) );
document.cookie = DRAG_Objet.style.left.value +"_"+ DRAG_Objet.style.top.value+
";expires=" + d.toGMTString() + ";" ;
}
}
erreur sur page, dragok, image collée à la souris, création du cookie ok mais undefined_undefined
si j'enlève les value :
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() + ";" ;
}
erreur sur page, drag= impossible , pas de création de cookie
et enfin :
si je rajoute " aprés top comme sur l'original erreur sur page, image bloquée , pas de cookie.