Harry
Harry

Reputation: 621

Angular - Button Scroll to Top

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?

BLITZ

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

Answers (1)

Chellappan வ
Chellappan வ

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]);
}

Working Example

Upvotes: 11

Related Questions