Je crée une page Web ayant des divs largeur/hauteur de page complète. En faisant défiler vers le bas, j'ai deux types de méthodes.Angular 4 - Animation par défilement
Faire défiler sur Cliquez
//HTML
<a (click)="goToDiv('about')"></a>
//JS
goToDiv(id) {
let element = document.querySelector("#"+id);
element.scrollIntoView(element);
}
Faire défiler sur HostListener
@HostListener("window:scroll", ['$event'])
onWindowScroll($event: any): void {
this.topOffSet = window.pageYOffset;
//window.scrollTo(0, this.topOffSet+662);
}
1. Comment ajouter un effet d'animation de défilement?
Tout comme:
$('.scroll').on('click', function(e) {
$('html, body').animate({
scrollTop: $(window).height()
}, 1200);
});
2. Et comment utiliser HostListener pour défiler jusqu'à la prochaine div?
Je pense que c'est la solution ici [https://stackoverflow.com/questions/38748572/scroll-event-on-hostlistener](https://stackoverflow.com/questions/38748572/scroll-event-on-hostlistener –
@ObaidulHaque 'HostListener' fonctionne correctement. Vous ne savez pas comment ajouter une animation. –
Utilisez l'animation CSS dans les fonctions que vous appelez dans le port d'écoute de l'hôte. Bon guide ici: https://css-tricks.com/aos-css-driven-scroll-animation-library/ –