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 :

Déplacement de DIV


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut Déplacement de DIV
    Bonjour à tous,

    J'ai utilisé un framework pour pouvoir drag'n dropper les DIV de mon site, donc le drag'n drop fonctionne très bien. Je peux déplacer mes DIV comme je le souhaite sur toute l'étendue de ma page.Mais bien entendu, lorsque je rafraichis ma page, mes DIV reviennent à leur emplacement d'origine.

    Les positions de chacun des DIV par rapport à leur DIV parent sont stockées dans une base de données. Donc ce que j'aimerai faire, c'est de remplacer les anciennes positions des DIV par les nouvelles, après les avoir déplacer par drag'n drop.

    Je pense pouvoir faire cela en Javascript, mais je ne sais pas du tout comment m'y prendre. Pouvez-vous m'aider s'il vous plait ?

    Je vous remercie beaucoup

    Ben

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour

    A ma connaissance cela n'est pas possible en Javascript car c'est un langage qui n'interfère pas avec les bases de données.

    A+

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut
    En fait, j'interagis avec ma base de données grâce à des fonctions Ajax, donc il m'est possible d'envoyer des valeurs à stocker dans la base de données (4D pour infos) et également d'en récupérer.

  4. #4
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    Citation Envoyé par brazilia28
    En fait, j'interagis avec ma base de données grâce à des fonctions Ajax, donc il m'est possible d'envoyer des valeurs à stocker dans la base de données (4D pour infos) et également d'en récupérer.
    avec Ajax justement
    à la fin du drag (au drop quoi), tu envoies une requête d'update avec la nouvelle position du div

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut
    Ok sur ce point, mais comment récupérer la nouvelle position du DIV ?

  6. #6
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    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
    function getPos(o)
    {
    	try
    	{
    		var x = y = 0;
    		if (o.offsetParent)
    		{
    			x = o.offsetLeft;
    			y = o.offsetTop;
    			while (o = o.offsetParent)
    			{
    				x += o.offsetLeft;
    				y += o.offsetTop;
    			}
    		}
    		return [x,y];
    	}
    	catch(ex){ window.status = 'function getPos exception : ' + ex.name + ' - ' + ex.message; return [-1,-1];}
    }

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut
    euhhhh, pourrais-je avoir un petit peu d'explications sur cette fonction car je suis novice en Javascript.

    Le paramètre o correspond à quoi ?
    Cette fonction marche-t-elle avec tous les navigateurs ?

    Merci

  8. #8
    Rédacteur
    Avatar de bigboomshakala
    Homme Profil pro
    Consultant Web .NET
    Inscrit en
    Avril 2004
    Messages
    2 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant Web .NET
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 2 077
    Points : 2 757
    Points
    2 757
    Par défaut
    o = un objet html quelconque (div, label, table...)
    oui

    explications :
    la fonction renvoie le tableau [x,y] qui donne les coordonnées de l'objet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    var pos = getPos(maDiv);
    // pos[0] -> abscisse
    // pos[1] -> ordonnée
    la fonction boucle sur l'objet et ses (offset)Parents et additionne leurs positions relatives, c-a-d qu'à la position de l'objet par rapport à son parent, on ajoute la position du parent par rapport au grand-parent, etc, jusqu'à la fenetre qui sert de référence. au final tu as la position de l'objet dans la fenetre en pixels.

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2006
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 162
    Points : 64
    Points
    64
    Par défaut
    Ca fonctionne à peu près comme je le veux, mise à part le fait que lorsque je redimensionne mon navigateur, les objets sortent de mon site. Normal vu que les positions sont absolues.

    Je vais faire un calcul des coordonnées en pourcentage par rapport à la largeur et la hauteur du navigateur, et je pense que ça fonctionnera correctement.

    Merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déplacement de div : Enregistrer nouvelle position ?
    Par titoftit dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 03/07/2007, 09h28
  2. [POO] POO, méthode et déplacement de DIV
    Par philippe.z dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/06/2007, 15h55
  3. [Javascript] déplacement de div suivant souris
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/06/2006, 16h45
  4. CSS déplacement de div
    Par Taz_8626 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 21/04/2006, 16h11
  5. Déplacement de div
    Par glloq8 dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 07/11/2005, 14h22

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