
IntersectionObserver
coding十二月 07, 20201mins
JavaScript Frontend
IntersectionObserver用来监听元素和和祖先或者或者顶级文档对象的交叉关系,或者更常见的是检测目标元素当前是否可见
处理函数
jsx
var intersectionObserver = new IntersectionObserver(function(entries) {// If intersectionRatio is 0, the target is out of view// and we do not need to do anything.if (entries[0].intersectionRatio <= 0) return;loadItems(10);console.log('Loaded new items');});
监听
jsx
// start observingintersectionObserver.observe(document.querySelector('.scrollerFooter'));
触发函数会在初始化以为监听的元素的交叉状态发生变化时被调用,entries 传入的是交叉状态产生变化的元素,entries数据的顺序是按照当初被 observe() 的顺序排列的。
通过entry的isIntersecting 以及intersectionRatio 判断交叉的程度。
属性
root可以修改被交叉的元素rootMargin可以给元素定义额外的虚拟边界,例如rootMargin: "50px, 0px"会讲元素上下边界扩展50像素,这样元素还未正真可见时就会触发处理函数,实现预处理;又或者rootMargin: 0% 0% -80% 0%定义的是元素的头上的20%的部分
参考H1
评论
新的评论
上一篇
CMD 中设置环境变量后读取
CMD中默认单行命令设置变量然后读取是无法读取到的,例如 需要启用延迟环境变量扩展并且使用!x!的语法,才能读取到 但是 setlocal 只在脚本生效的。 运行CMD时,指定 /V 参数可以让CMD生效 参考: https://superuser.com/questio…
下一篇
Jest Getting Started
概述 对于测试,我们一般需要 测试框架 定义测试,调用测试方法,报告测试结果等,比如mocha、chai 启动器 启动测试环境,并在测试环境中运行测试框架,比如karma 断言库 对测试结果进行断言,一般测试框架会自带基础的断言 mock库 单元测试需要对mock来模拟外部…
