Function Scroll To [javascript]

[niveau débutant]

<EDIT>: A noter qu’il existe la fonction HTMLElement.scrollIntoView() qui fait la même chose et qui semble être compatible avec tous les navigateurs contrairement à ce qu’il se dit sur divers forums (j’ai testé sur les navigateurs récents en tout cas, mais j’ai aussi testé d’IE6 à IE9 et ça semble fonctionner).</EDIT>

Pour se déplacement dans votre page jusqu’à un élément, pas besoin de jQuery.scrollTo() car vous pouvez le faire en quelques lignes de code.

Pour cela, on va calculer la position (coordonnées) de notre élément où on souhaite se rendre; on utilise les propriétés offsetLeft et offsetTop. Il faudra aussi tenir compte de l’offsetParent pour avoir une position correcte.

var elem = document.getElementById('footer_bg');
var left = 0;
var top = 0;
do {
  left += elem.offsetLeft;
  top  += elem.offsetTop;
} while (elem = elem.offsetParent);
// on a maintenant les coordonnées X=left et Y=top de notre élément
// on peut donc se déplacement dans le document grâce à window.scrollTo(X,Y)
window.scrollTo(left,top);

Vous pouvez tester ce code, ce qui devrait vous amener jusqu’en bas de cette page.

Vous pouvez trouver une version de cette fonction qui fait ~100 caractères sur https://gist.github.com/1114275.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*