Existe-t-il un moyen de contrôler le défilement du navigateur avec JavaScript/jQuery ?
Lorsque je fais défiler ma page à mi-chemin vers le bas, puis que je déclenche un rechargement, je veux que la page revienne en haut, mais au lieu de cela, elle essaie de trouver la dernière position de défilement. J'ai donc fait ceci :
$('document').ready(function() {
$(window).scrollTop(0);
});
Mais pas de chance.
EDIT :
Vos deux réponses ont donc fonctionné lorsque je les ai appelées après le chargement de la page - Merci. Cependant, si je rafraîchis la page, il semble que le navigateur calcule et revienne à son ancienne position de défilement APRÈS l'appel de la commande .ready
(j'ai également testé la fonction onload() du corps).
La question qui se pose est donc la suivante : existe-t-il un moyen d'EMPECHER le navigateur de défiler jusqu'à sa position précédente, ou de le faire défiler à nouveau jusqu'en haut APRÈS qu'il ait fait son travail ?
1 votes
Que se passe-t-il lorsque vous le faites à partir de $(window).load() ?
2 votes
@MPD- Excellente idée ! ... mais je viens de l'essayer et l'ajustement du défilement se produit toujours après cela. Merci pour l'astuce, cela m'aide à répondre à une autre de mes questions : stackoverflow.com/questions/4210829/ . Si tu veux répondre à cette question, je vais t'en donner.
0 votes
@Yarin Désolé que vous ayez dû attendre 9 ans pour ça. Vous devez définir le paramètre history.scrollRestoration avant d'essayer de faire défiler la page. Voir ma réponse.