2017-10-03 3 views
0

Je dois être capable de revenir en haut d'une page dans mon site angulaire routé d'une page lorsque une fonction est déclenchée, mais j'ai utilisé le plugin de barre de défilement simplebar en tant que scroller personnalisé, ne peut donc pas utiliser la méthode windowtop scrolltop pour ramener l'utilisateur en haut de la page.Plugin de barre de défilement simple - Faire défiler vers le haut/réinitialiser la position dans la fonction

Je ne peux pas utiliser de méthode de défilement de fenêtre/document car le conteneur qui utilise la barre d'outils simple est un conteneur 100vh fixe, donc la fenêtre défile toujours vers le haut.

J'ai essayé d'utiliser la méthode jquery ci-dessous pour réinitialiser la position de la barre de défilement vers le haut, mais je n'arrive pas à la faire fonctionner et il n'y a aucun message d'erreur dans la console.

angular.element('#mainContent').simplebar('getScrollElement').scrollTop(0); 

J'ai aussi essayé cela dans js plaine, qui retourne 'est pas une fonction' dans la console.

var mainContent = new SimpleBar(document.getElementById('mainContent')); 

mainContent.SimpleBar.getScrollElement() scrollTop = 0;

+0

Avez-vous trouvé la solution? Je fais aussi face au même problème. Je crée un conteneur déroulant en utilisant ScrollToPlugin. Sans le plugin, je peux faire défiler pour ancrer. Mais après le plugin, je ne peux pas. Cet exemple est supposé démo la solution mais je ne peux pas le faire. https://github.com/Grsmto/simplebar/blob/master/demo/stress-test.html – Coisox

Répondre

0

Vous pouvez .animate pour cela:

$("body").animate({ scrollTop: 0 }, "slow"); 
+0

Veuillez lire la question. Le corps/fenêtre ne peut pas être animé car il est toujours en haut, le div simplebar est une hauteur fixe de 100vh, donc le défilement de fenêtre/document ne fonctionnera pas. –