Partage
  • Partager sur Facebook
  • Partager sur Twitter

Scriptaculous et Drag

Sujet résolu
    23 février 2009 à 18:13:26

    Bonjour à tous et à toutes,

    Je suis novice (pas débutant o_O ) en Php et Javascript,
    sur le site de Scriptaculous, je me suis intéressé à l'effet drag

    http://wiki.github.com/madrobby/scriptaculous/draggable

    Peut-on récupérer la position du div (après drag) sous forme de variable ?

    Merci de votre aide
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      23 février 2009 à 21:16:36

      Je ne connais pas scriptaculous mais ce code devrait te convenir (il faut coller ensemble les lignes de la page pour aoir la fonction complète).
      http://www.quirksmode.org/js/findpos.html
      • Partager sur Facebook
      • Partager sur Twitter
        23 février 2009 à 22:02:54

        Un grand merci mcc

        offsetLeft et offsetTop ,c'est le début de la piste, je vais faire quelques recherches là-dessus.

        Si quelqu'un maitrise cete fonction, merci de son aide.

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          23 février 2009 à 22:40:17

          Ben cette fonction est assez simple en fait.
          Le problème avec offsetLeft et offsetTop, c'est que dans certains navigateurs, ça ne prend en compte que la marge par rapport au parent (et non par rapport au bord de la page). Donc, pour palier à ce problème, on ajoute successivement toutes les marges : celle par rapport au plus proche parent, puis celle du plus proche parent par rapport au parent du plus proche parent, etc jusqu'à ce qu'il n'y ai plus de parent (j'espère que j'ai été clair ;)).
          Pour utiliser la fonction :
          function findPos(obj) {
          	var curleft = curtop = 0; //Contiendra les coordonnées de obj.
          	if (obj.offsetParent) { //Si le navigateur supporte offsetParent.
          		do {
          			curleft += obj.offsetLeft; //On met à jour les marges.
          			curtop += obj.offsetTop;
          		} while (obj = obj.offsetParent); //Si obj a un parent on le lui assigne et on continue, sinon on arrête la boucle.
          	}
          	return [curleft,curtop]; //On retourne la position sous forme de tableau.
          }
          
          var pos = findPos(document.getElementById('id'));
          var left = pos[0];
          var top = pos[1];
          
          • Partager sur Facebook
          • Partager sur Twitter

          Scriptaculous et Drag

          × 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