Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer position de divs non déclarées

    6 février 2011 à 13:00:19

    Salut à tous ! Comme le titre du sujet l'indique j'aimerais récupérer la position de toute les divs qui se situent dans la div <div id="background"></div> et je voudrais ne pas déclarer toute les divs qui sont dans #background, sachant que je dois récupérer la position de toute les divs nommées : movable_sticker, widget_$style, $style

    $style : $style = array("bulle", "calepin", "doree", "metal", "pense_bete");

    Niitr0x.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      6 février 2011 à 14:21:41

      yop*
      > tu stockes dans un tableau tous tes divs, et puis tu fais une boucle for pour parcourir ce tableau et stocker dans autre chose les div qui t'intéressent.

      var tableau = $("#background").select("div");
      for(var i=0,size=tableau.length;i<size;i++) {
         tableau[i]; /*tu fais ton traitement ici*/
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        6 février 2011 à 15:47:29

        Peux-tu m'expliquer un peu plus le fonctionnement de ton code s'il te plaît ?
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          6 février 2011 à 16:00:39

          jquery : tableau reçoit la selection de tous les div contenus dans ton #background.
          tu fais ensuite une boucle pour traiter chaque élément, s'il te convient (genre movable_sticker, etc..) alors tu récupères sa position. tu peux t'aider de ce lien ^^
          • Partager sur Facebook
          • Partager sur Twitter
            6 février 2011 à 16:22:33

            Je voudrais récupérer la position : top & left en fait, je dois adapter quoi au niveau du code ?
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              6 février 2011 à 16:50:55

              hé bien par exemple avec une alerte,
              <div id="background">
              	<div id="powa">ref</div>
              	<div class="zerfr">sdfgv</div>
              	<div class="powaa">zerferfg</div>
              	<div class="porfgertwa">qssdf</div>
              	<div id="fdbjv">aaa</div>
              	<div id="opkop">ssss</div>
              	<div id="metal">metal</div>
              </div>
              


              <script type="text/javascript">
              function findPos(obj) { /* fonction qui retourne la position */
                      var curleft = obj.offsetLeft || 0;
                      var curtop = obj.offsetTop || 0;
                      while (obj = obj.offsetParent) {
                              curleft += obj.offsetLeft
                              curtop += obj.offsetTop
                      }
                      return {x:curleft,y:curtop};
              }
              
              var tab = document.getElementById("background");
              var tableau = tab.getElementsByTagName("div");
              for(var i=0,size=tableau.length;i<size;i++) {
              	if((tableau[i].getAttribute("id") == "metal")
              		|| (tableau[i].getAttribute("class") == "powaa")) { /* tests de div spéciaux */
                 alert('pos en x :'+findPos(tableau[i]).x+' pos en y :'+findPos(tableau[i]).y); /*tu fais ton traitement ici*/
                 }
              }
              </script>
              


              PS : si tu ne connais pas JS, vas lire les tutos du sdz :-°
              • Partager sur Facebook
              • Partager sur Twitter
                6 février 2011 à 17:42:00

                Merci de ton aide :D Je vais tester ton code ;)
                Pour l'apprentissage, il faut que je m'y mette, c'est prévu dans mes futurs week-ends, si je demande de l'aide pour ce code, c'est que j'en ai besoin très rapidement, je ne peux pas attendre de bien maîtriser le JavaScript pour ça...

                PS : Il va récupérer la taille en pixels à partir de #background ou de body ?
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  6 février 2011 à 23:36:44

                  comme il y a parent, à partir du coin haut gauche de ton navigateur ;) . regardes éventuellement du côté des scripts jquery pour faire ce dont tu as besoin ... :-°
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 février 2011 à 19:20:06

                    Désolé de ma réponse tardive...
                    D'accord je vais regarder sur jQueryUI...

                    Pour le script que tu m'as donné, il ne fonctionne pas, je l'ai intégré à ma page, j'ai bien une div #background avec une div #metal dedans, aucune alerte, c'est normal ?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Récupérer position de divs non déclarées

                    × 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