Reputation: 621
I developed an image gallery. Is there a way when scrolling on the page, a button would appear to me that when clicking on it all the scroll made was to the top (beginning of the page)?
I already tested some cases that I found and so far none worked :( can someone help me?
code
<ul class="mdc-image-list my-image-list" style="padding-left: 10px;padding-right: 10px;">
<li class="mdc-image-list__item" *ngFor="let product of Images; let j = index;">
<div class="mdc-image-list__image-aspect-container">
<img [src]="product.image" class="mdc-image-list__image">
</div>
</li>
</ul>
Upvotes: 2
Views: 14484
Reputation: 27471
Use hostListener to listen window scroll event,Then Use angular ViewPortScroller service, which provide scrollToPostion method use that to scroll to specified position.
Try this:
component.ts
@HostListener('window:scroll', ['$event']) onScroll(event){
this.pageYoffset = window.pageYOffset;
}
constructor(private scroll: ViewportScroller) { }
scrollToTop(){
this.scroll.scrollToPosition([0,0]);
}
Upvotes: 11