AngularJS:监视元素可见性

标签 angularjs

我体内有一个看不见的元素。我想在它变得可见时触发一个函数。这方面的最佳做法是什么?

这是一个 plunker到 sample 工作。在这段代码中,窗口应通过单击按钮滚动到“#hiddenObj”div。但是第一次点击,只有 div 变得可见,第二次窗口滚动。

最佳答案

ng-hide=false 有效地将 'display:none' 添加到元素,这意味着该元素在 DOM 中没有任何可滚动到的位置。

所以只需在元素的可见状态上设置一个 $watch 如下

var scrollElement = "#hiddenObj";
$scope.$watch(function() { return angular.element(scrollElement).is(':visible') }, function() {
    scrollTo(scrollElement);
});

http://plnkr.co/edit/BGBygAWdwU6zv7anx3qO?p=preview

关于AngularJS:监视元素可见性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085553/

相关文章:

angularjs - 大型 AngularJS 应用程序 - 多种 UI 布局

javascript - AngularJS POST 失败 : Response for preflight has invalid HTTP status code 404

angularjs - 应用cellFilter后如何对数据进行分组UI-Grid

javascript - AngularJS http 请求永远不会执行

javascript - Controller 之间的 Angular 服务

javascript - 通过服务在 Controller 之间共享 $http 对象

javascript - 如何在数组中存储元素?

javascript - ng-click 不会执行

javascript - moment.js 时区 .valueOf() 不返回预期值

javascript - Angular 在不触发摘要的情况下执行 XHR 请求