Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to scroll to top of the page in AngularJS?

I want to scroll to the top of the page after getting an ajax call response using angularjs. Basically, I am displaying alert messages on top of the page and I want to focus the alert message as the ajax response received.

Thanks

like image 610
Farjad Hasan Avatar asked Mar 05 '15 06:03

Farjad Hasan


3 Answers

You can use

$window.scrollTo(x, y);

where x is the pixel along the horizontal axis and y is the pixel along the vertical axis.

  1. Scroll to top

    $window.scrollTo(0, 0);
    
  2. Focus on element

    $window.scrollTo(0, angular.element('put here your element').offsetTop);   
    

Example

Update:

Also you can use $anchorScroll

Example

like image 127
Oleksandr T. Avatar answered Nov 06 '22 15:11

Oleksandr T.


You can use $anchorScroll.

Just inject $anchorScroll as a dependency, and call $anchorScroll() whenever you want to scroll to top.

like image 29
Muhammad Reda Avatar answered Nov 06 '22 13:11

Muhammad Reda


Ideally we should do it from either controller or directive as per applicable. Use $anchorScroll, $location as dependency injection.

Then call this two method as

$location.hash('scrollToDivID');
$anchorScroll();

Here scrollToDivID is the id where you want to scroll.

Assumed you want to navigate to a error message div as

<div id='scrollToDivID'>Your Error Message</div>

For more information please see this documentation

like image 13
Partha Sarathi Ghosh Avatar answered Nov 06 '22 13:11

Partha Sarathi Ghosh