<!DOCTYPE html> <html ng-app="myApp"> <head> <meta charset="UTF-8"> <title>anchor</title> <style> #wei div{ width:100%; height:720px; background: red; color:#fff; text-align:center; line-height: 720px; margin:20px; font-size: 80px; } #wei ul{ position: fixed; top:300px; right:60px; } #wei ul li{ width:20px; display:block; height:20px; background: gray; color:#fff; text-align:center; line-height: 20px; border-radius: 50%; margin-bottom: 20px; cursor: pointer; } </style> </head> <body ng-controller="show"> <div> <div ng-repeat="attr in arr" ng-attr-id="div{{attr}}">{{attr}}</div> <ul><!-- 定义右边的点 --> <li ng-repeat="attr in arr" ng-click="jump('div'+attr)">{{attr}}</li> </ul> </div> <script src="https://www.jb51.net/angular.min.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> var app = angular.module('myApp',[]); app.controller('show',['$scope','$location','$anchorScroll',function($scope,$location,$anchorScroll){ $scope.arr=[1,2,3,4,5]; $scope.jump=function(id){ //console.log(id); $location.hash(id);//添加锚点 $anchorScroll(); //重新定义服务,解决当滑动时点击锚点无作用的bug } }]); </script> </body> </html>
运行效果如下:
点击锚点2:
点击锚点3:
更多关于AngularJS相关内容感兴趣的读者可查看本站专题:《AngularJS指令操作技巧总结》、《AngularJS入门与进阶教程》及《AngularJS MVC架构总结》