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

jQuery Discussion :

Positions élements jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 207
    Par défaut Positions élements jquery
    Bonjour.

    Dans une page html j'ai des div draggable avec une classe bien spécifique.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div class="dragdom-tit" id="1">
    ..........
    </div>
    <div class="dragdom-tit" id="2">
    ..........
    </div>
    <div class="dragdom-tit" id="3">
    ..........
    </div>....
    J'ai une fonction java script qui me permet de récupérer la position de mes éléments draggable lorsque je termine le déplacement, et ensuite cette position est insérée dans des champs hidden.

    Cependant comment faire pour pouvoir récupérer la position de ses div draggable au chargement de la page (en effet un élément ne sera pas forcement déplacé, donc il faudrait que je pré remplisse mes champs hidden par leur position de départ)

    Merci à vous.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Bonjour,

    Tu peux utiliser l'événement ready pour déclencher la mémorisation de la position initiale.

    devyan

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 207
    Par défaut
    Citation Envoyé par devyan Voir le message
    Bonjour,

    Tu peux utiliser l'événement ready pour déclencher la mémorisation de la position initiale.

    devyan
    Jusque la j'étais bon.
    Mais ca ne m'aide pas beaucoup plus pour avancer.

    En effet pour le moment je récupère et met à jour la position comme ceci (marche donc uniquement si on bouge le div)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $(".dragdom-tit").draggable({
    stop: function(event, ui) {
     
            var Stoppos = $(this).position();
     
            //permet de récuperer l'id du select
            var idselect = $(this).children('select').attr('id');
     
            //permet de stoquer la position dans mes champs hidden
            $("#rencontre_position-gauche-"+idselect).val(Stoppos.left);
            $("#rencontre_position-haut-"+idselect).val(Stoppos.top);
     
        }
    });
    Je ne vois donc pas que faire dans mon $(document).ready(function() pour pouvoir récupérer la position de chacun des div (sans changement de positions donc) en récupérant ainsi leur id et en mettant à jour le champs hidden correspondant.

    Merci

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Si je reprends ton code on obtiendrait quelque chose du genre ...

    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
    function memPos(obj) {
            var Stoppos = obj.position();
    
            //permet de récuperer l'id du select
            var idselect = obj.children('select').attr('id');
    
            //permet de stoquer la position dans mes champs hidden
            $("#rencontre_position-gauche-"+idselect).val(Stoppos.left);
            $("#rencontre_position-haut-"+idselect).val(Stoppos.top);
    }
    
    $(document).ready(function() {
            $(".dragdom-tit").each(function(ind, el) {
                    memPos(el);
            });
    }
    
    $(".dragdom-tit").draggable({
    stop: function(event, ui) {
            memPos($(this));
    /*
            var Stoppos = $(this).position();
    
            //permet de récuperer l'id du select
            var idselect = $(this).children('select').attr('id');
    
            //permet de stoquer la position dans mes champs hidden
            $("#rencontre_position-gauche-"+idselect).val(Stoppos.left);
            $("#rencontre_position-haut-"+idselect).val(Stoppos.top);
    */
        }
    });
    devyan

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 207
    Par défaut
    Merci bien

    Par contre je viens de tester et j'obtiens une erreur, obj.position is not a function, je vais chercher de mon côté si je trouve le pourquoi du comment.

    EDIT : j'ai remplacé par $(obj) et ca passe.
    Merci bien

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 132
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 132
    Par défaut
    Citation Envoyé par jeronimo83 Voir le message
    Merci bien

    Par contre je viens de tester et j'obtiens une erreur, obj.position is not a function, je vais chercher de mon côté si je trouve le pourquoi du comment.

    EDIT : j'ai remplacé par $(obj) et ca passe.
    Merci bien
    C'est fort possible que j'ai fait une erreur de syntaxe ici ou là (je n'ai pas du testé le code en question) mais le principe reste celui-ci.
    • déclarer une fonction correspondant à ton traitement "unitaire"
    • dans $.ready() utiliser cette fonction pour chacun des cadres dont tu désires mémoriser la position
    • dans ton événement remplacer le traitement par l'appel de la fonction de traitement "déporté"

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/02/2011, 10h27
  2. JQUERY - connaitre position drag
    Par oulahoup dans le forum jQuery
    Réponses: 2
    Dernier message: 12/03/2009, 21h50
  3. changer la position d'un élement
    Par ouquoi dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 27/03/2006, 14h17
  4. [MFC]Changer la position du élement du menu
    Par annedjomo dans le forum MFC
    Réponses: 1
    Dernier message: 02/09/2005, 06h20

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