当前位置:首页 > JS逆向 > 5分钟掌握微信小程序 IntersectionObserver

5分钟掌握微信小程序 IntersectionObserver

一叶知秋2024-05-11 09:20:07JS逆向3
  • left 节点布局区域的左边界

  • right 节点布局区域的右边界

  • top 节点布局区域的上边界

  • bottom 节点布局区域的下边界

监听


IntersectionObserver.observe(string targetSelector, function callback)

selector 代表目标模块的选择器,当它和参考区域相交达到阈值比例时,会触发 callback 回调函数,回调函数返回如下几个参数:

  • intersectionRatio : 两者相交比例;

  • time :相交检测时的时间戳;

  • intersectionRect :相交区域的边界;

  • boundingClientRect :目标边界;

  • relativeRect :参照区域的边界;

取消监听


IntersectionObserver.disconnect() 停止监听。回调函数将不再触发

简单示例

=======================================================================

微信官方 API 示例 打开小程序开发者工具后点击连接即可引入

代码


小球出现

小球消失

向下滚动让小球出现

.scroll-view {

height: 400rpx;

background: #fff;

border: 1px solid #ccc;

box-sizing: border-box;

}

.scroll-area {

height: 1300rpx;

display: flex;

flex-direction: column;

align-items: center;

transition: 0.5s;

}

.notice {

margin-top: 150rpx;

}

.ball {

width: 200rpx;

height: 200rpx;

background: #1aad19;

border-radius: 50%;

}

.filling {

height: 400rpx;

}

.message {

width: 100%;

display: flex;

justify-content: center;

}

.message text {

font-size: 40rpx;

font-family: -apple-system-font, Helvetica Neue, Helvetica, sans-serif;

}

Page({

data: {

appear: false,

},

onLoad() {

this._observer = wx.createIntersectionObserver(this);

this._observer.relativeTo(“.scroll-view”).observe(“.ball”, (res) => {

console.log(res);

this.setData({

appear: res.intersectionRatio > 0,

});

});

},

onUnload() {

if (this._observer) this._observer.disconnect();

},

});

结果分析


在这里插入图片描述

根据录屏的控制台打印内容可以看出,无论是出现还是消失,只要当小球跟 scroll-view 的相交比例为 0(即接触)时,触发一次回调。

具体看看控制台打印内容

控制台打印内容

  • boundingClientRect:目标边界。在这个示例中为小球的边界。

  • dataset: 观察对象携带的数据。

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

扫描二维码推送至手机访问。

版权声明:本站部分文章来自互联网采集,请查看免责申明

本文链接:https://blog.yyzq.team/post/338160.html

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。