目前,我正在使用角度滚动进行导航,如下所示,它适用于导航栏中的链接:
var ScrollApp = angular.module('myApp.ScrollApp', ['duScroll', 'ngAnimate']).value('duScrollOffset', 60);
ScrollApp.controller('ScrollCtrl', function($scope){
var container = angular.element(document.getElementById('container'));
var sectionhome = angular.element(document.getElementById('Home'));
$scope.toTheTop = function() {
container.scrollTop(60, 5000);
};
$scope.toHome = function() {
container.scrollTo(sectionhome, 60, 1000);
};
$scope.scrollVariable = false;
$scope.ids = ['Section1', 'Section2', 'Section3'];
}
);
现在,我的问题是:
如何在视口中使用角度检测当前部分,然后使用ng-click
的单个按钮滚动到$scope.ids
数组中的下一部分。
此外,一旦在底部,有角度检测底部,并将ng-click
更改为从顶部到顶部。
我不能有任何jQuery依赖,我应该提到我可能只是在学习AngularJS。
答案 0 :(得分:0)
<a ng-click="gotoSection("Section1")">Go to Section</a>
<a id="Section1"></a>
$scope.gotoSection= function(id) {
// set the location.hash to the id of
// the element you wish to scroll to.
$location.hash(id);
// call $anchorScroll()
$anchorScroll();
};