我体内有一个看不见的元素。我想在它变得可见时触发一个函数。这方面的最佳做法是什么?
这是一个 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/