当此元素变为可见时,尝试管理角度以自动滚动到特定的div元素。
已经搜索并尝试了几个小时(不开玩笑)但没有成功。
到目前为止尝试了几个模块
并且不能让他们中的一个工作(或者仅在ng-click上)。
我到底有多远?
要回答这个问题;我发现了一个女巫基本上滚动的例子但不是我想要的东西。
e.g。
<button ng-click="scrollToHash()">Scroll</button>
..
..
<div id="#div">
..
</div>
-
function scrollController ($scope, User, $location, $anchorScroll) {
$scope.scrollToHash = function () {
$scope.hash('div');
$anchorScroll();
};
};
这样我就无法对其上的任何“动画持续时间”进行调整。 我知道应该工作的是在元素上设置$ watch并在显示元素时调用函数。
没有到达任何地方,所以我请求你们帮忙。
Angular还是新手,所以请不要责怪这个新手!
由于
答案 0 :(得分:1)
尝试使用nh-show
或ng-hide
显示/隐藏元素,然后在用于显示/隐藏元素的属性上进行监视。关于滚动,你已经有了解决方案。
答案 1 :(得分:1)
我创建了一个服务来让我的滚动进行。你可以试试这个。
控制器:
app.controller("scrollController", function ($scope, scrollToTopService) {
"use strict";
$scope.scrollToHash= function () {
scrollToTopService.scrollToTop();
};
});
服务:
app.service('scrollToTopService', function ($location, $anchorScroll) {
"use strict";
this.scrollToTop = function () {
$anchorScroll.yOffset = 80; //I want it top drop 80px from id. You can remove this.
$location.hash("IdWhereIWantToScroll");
$anchorScroll();
};
});
以下是您的观点:
<button ng-click="scrollToHash()">Scroll</button>
..
..
<div id="IdWhereIWantToScroll">
..
</div>
希望这会有所帮助。祝你好运。