Je veux faire défiler vers le haut de la page après avoir obtenu une réponse à un appel ajax en utilisant angularjs. Fondamentalement, j'affiche des messages d'alerte en haut de la page et je souhaite concentrer le message d'alerte en fonction de la réponse ajax reçue.
Merci
Vous pouvez utiliser
_$window.scrollTo(x, y);
_
où x
est le pixel le long de l'axe horizontal et y
le pixel le long de l'axe vertical.
Faites défiler vers le haut
_$window.scrollTo(0, 0);
_
Se concentrer sur l'élément
_$window.scrollTo(0, angular.element('put here your element').offsetTop);
_
Mise à jour :
Aussi, vous pouvez utiliser $anchorScroll
Vous pouvez utiliser $anchorScroll
.
Il suffit d’injecter _$anchorScroll
_ comme dépendance et d’appeler $anchorScroll()
chaque fois que vous souhaitez faire défiler vers le haut.
Idéalement, nous devrions le faire à partir du contrôleur ou de la directive, conformément à ce qui est applicable. Utilisez $anchorScroll
, $location
comme injection de dépendance.
Appelez ensuite cette méthode comme
$location.hash('scrollToDivID');
$anchorScroll();
Ici scrollToDivID
est l'identifiant où vous voulez faire défiler.
Supposons que vous souhaitiez accéder à un message d’erreur div en tant que
<div id='scrollToDivID'>Your Error Message</div>
Pour plus d'informations s'il vous plaît voir ceci documentation
N'oubliez pas que vous pouvez également utiliser du JavaScript pur pour faire face à cette situation, en utilisant:
window.scrollTo(x-coord, y-coord);