Partage
  • Partager sur Facebook
  • Partager sur Twitter

Petite question de positionnement

Sujet résolu
    22 août 2011 à 20:40:38

    Bonjour :) ,

    Voila, j'aimerais connaitre la positions d'un elements html par rapport au coin haut et a gauche de la page du navigateur, la div est ibriqué dans d'autres div et est afficher dans une fancy box.
    Comment accéder à la premier div parent de ma div? Car pour le moment .position() me revois juste la position par rapport la div juste au dessus de la div en question donc je n'est pas la bonne position.

    Je ne suis pas très bon dans les sélecteurs jQuery donc si une personne l'ai voici mon code:

    var position_image = $('#idPhoto').position();
    


    Merci d'avance :)

    Cordialement
    • Partager sur Facebook
    • Partager sur Twitter
      22 août 2011 à 21:27:47

      La div parent peux être accedée via .parentNode

      http://fr.selfhtml.org/javascript/obje [...] m#parent_node

      Si tu a autre chose que des div, tu boucle sur parentNode tant que l'element n'est pas un div.
      • Partager sur Facebook
      • Partager sur Twitter
        22 août 2011 à 21:54:34

        J'ai essayer:

        var positionImg = $('#idPhoto').parentNode;
        var position_image = positionImg.position();
        


        Mais cela me renvoie l'erreur:
        Cannot call method 'position' of undefined :'(
        • Partager sur Facebook
        • Partager sur Twitter
          22 août 2011 à 21:57:01

          Regardes ce que te renvois $('#idPhoto') ;)
          • Partager sur Facebook
          • Partager sur Twitter
          Mon Twitter : @Amatewasu
            22 août 2011 à 21:58:06

            C'est a dire?

            si je fais
            alert($('#idPhoto'));
            
            j'ai "[object Object]", normal non :D ?
            • Partager sur Facebook
            • Partager sur Twitter
              22 août 2011 à 22:03:30

              Oui ça te renvois normalement un objet contenant qu'un seul élément. Donc si tu veux mélanger jQuery avec des fonctions natives fais $('#idPhoto')[0] ;)

              Mais je te conseil d'utiliser jQuery jusqu'au bout quitte à l'utiliser en regardant mon lien...
              • Partager sur Facebook
              • Partager sur Twitter
              Mon Twitter : @Amatewasu
                22 août 2011 à 22:10:29

                J'ai essayer .parent(), mais jusqu'a ou je doit remonter?

                Car j'ai essayer un truc du genre:

                var ii = $('#idPhoto' + idPhoto).parent();
                var iii = ii.parent();
                var iiii = iii.parent();
                
                alert(iiii.position().left);
                


                Mais ça me retourne 0 a partir du 3eme parent :'(

                Que faire?
                • Partager sur Facebook
                • Partager sur Twitter
                  22 août 2011 à 22:11:37

                  Bah ca on peut pas te répondre, c'est ton code xD
                  • Partager sur Facebook
                  • Partager sur Twitter
                    22 août 2011 à 22:14:11

                    C'est dingue tout ce qu'on peut trouver quand on lit une doc oO

                    Citation : jQuery doc

                    .position()

                    The .position() method allows us to retrieve the current position of an element relative to the offset parent. Contrast this with .offset(), which retrieves the current position relative to the document. When positioning a new element near another one and within the same containing DOM element, .position() is the more useful.

                    Returns an object containing the properties top and left.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 août 2011 à 22:20:11

                      Merci Darkodam!! Ca marche parfaitement maintenant :)

                      La prochaine fois je lirais mieux la doc ^^
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Petite question de positionnement

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown