1931 votes

Faire défiler le haut de la page en utilisant JavaScript ?

Comment faire défiler la page vers le haut en utilisant JavaScript ? La barre de défilement qui saute instantanément en haut de la page est également souhaitable car je ne cherche pas à obtenir un défilement fluide.

0 votes

2019, pour éviter "Ce site semble utiliser un effet de positionnement lié au défilement. Cela peut ne pas fonctionner correctement avec un panoramique asynchrone" utiliser mon script. stackoverflow.com/a/57641938/5781320

2582voto

daniellmb Points 10289

Si vous n'avez pas besoin d'animer la modification, vous n'avez pas besoin d'utiliser de plugins spéciaux - j'utiliserais simplement le JavaScript natif. window.scrollTo() -- en passant dans 0, 0 fera défiler la page en haut à gauche instantanément.

window.scrollTo(xCoord, yCoord);

Paramètres

  • xCoord est le pixel le long de l'axe horizontal.
  • yCoord est le pixel le long de l'axe vertical.

187 votes

C'est ce que je voulais dire, si vous n'avez pas besoin d'animer un défilement fluide, vous n'avez pas besoin d'utiliser jQuery.

27 votes

Le commentaire de Jeff est amusant, mais honnêtement, les personnes qui veulent simplement que les choses fonctionnent sur plusieurs navigateurs dans 95 % des cas devraient simplement utiliser jQuery. Cela vient de quelqu'un qui doit écrire beaucoup de javascript pur en ce moment parce que nous ne pouvons pas nous permettre les frais généraux d'une bibliothèque ralentissant le code publicitaire :(

15 votes

Cette réponse n'a rien à voir avec la question. Elle serait parfaite si la question était : Quels script et méthodes dois-je utiliser pour faire défiler le haut de la page ? La réponse correcte est ici : stackoverflow.com/questions/4147112/

1452voto

Mark Ursino Points 15457

Si vous souhaitez un défilement fluide, essayez quelque chose comme ceci :

$("a[href='#top']").click(function() {
  $("html, body").animate({ scrollTop: 0 }, "slow");
  return false;
});

Cela prendra n'importe quel <a> dont le href="#top" et le faire défiler en douceur vers le haut.

0 votes

+1. Je me demandais juste comment faire quelque chose comme ça et google m'a conduit ici. Une question cependant, où se trouve la fonction "scrollTop" dans la documentation ? Je viens de regarder mais je ne l'ai pas trouvée.

27 votes

ScrollTop n'est pas une fonction, c'est une propriété de l'élément fenêtre.

2 votes

Cela ne fonctionne pas correctement lorsque l'on utilise le callback complet d'animate, car il sera exécuté deux fois.

211voto

mehmood Points 317

Essayez ceci pour défiler en haut

<script>
 $(document).ready(function(){
    $(window).scrollTop(0);
});
</script>

0 votes

C'est la même chose : if ('scrollRestoration' in history) { history.scrollRestoration = 'manual' ; }

0 votes

Qui aurait cru que c'était si simple ! Merci :)

116voto

MatW Points 4130

Vous n'avez pas besoin de jQuery pour faire cela. Une balise HTML standard suffira...

<div id="jump_to_me">
    blah blah blah
</div>

<a target="#jump_to_me">Click Here To Destroy The World!</a>

15 votes

+1 C'est une bonne chose si vous avez besoin de naviguer vers un élément spécifique plutôt que vers le haut.

44 votes

Utilisez '<a href="#">Top</a>' pour accéder au haut de la page.

3 votes

Cela semble être la meilleure façon de procéder lorsqu'il s'agit de SPAs.

64voto

decentchintan Points 351
  $("html, body").animate({ scrollTop: 0 }, "slow");

fonctionne

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X