gpt4 book ai didi

javascript - 当滚动元素在 Angular ngRepeat 中完全可见时调用函数

转载 作者:行者123 更新时间:2023-11-28 06:07:26 25 4
gpt4 key购买 nike

我有一个 Ionic 应用程序,它具有如下 ScrollView :

<div ng-repeat="post in posts" >
<div id="my-image-{{$index}}" is-visible><img src="post.img" /></div>
</div>

...我想在每次新图像成为事件的“完全可见”图像时触发一个函数。 (只有一个完全适合。)

我正在考虑使用 this SO question 中的类似内容:

  function isScrolledIntoView(el) {
var elemTop = el.getBoundingClientRect().top;
var elemBottom = el.getBoundingClientRect().bottom;

var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight);
return isVisible;
}

但是如何获取图像周围的 div 的 ID?或者有没有更好的方法在没有 jQuery 的情况下完成此任务?

更新:尝试了这个指令...但在控制台中没有得到任何东西。

.directive('isVisible', function(){
return{
restrict: 'AE',
link: function($scope, $element,$attr){
var elemTop = $element.getBoundingClientRect().top;
var elemBottom = $element.getBoundingClientRect().bottom;
var isVisible = (elemTop >= 0) && (elemBottom <= window.innerHeight);
console.log($element);
console.log("VISIBLE: " + isVisible);
return isVisible;
}
}
})

最佳答案

尝试 ngInfiniteScroll,一旦窗口到达当前集合的“末尾”,您就可以加载任何数据,我认为它也可以在底部或顶部。 https://sroze.github.io/ngInfiniteScroll/

关于javascript - 当滚动元素在 Angular ngRepeat 中完全可见时调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36373826/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com