当前位置: 首页 > news >正文

微信小程序中如何监听元素进入目标元素

Page({onLoad: function(){// 如果目标节点(用选择器 .target-class 指定)进入显示区域以下 100px 时,就会触发回调函数。wx.createIntersectionObserver().relativeToViewport({bottom: 100}).observe('.target-class', (res) => {res.intersectionRatio // 相交区域占目标节点的布局区域的比例res.intersectionRect // 相交区域res.intersectionRect.left // 相交区域的左边界坐标res.intersectionRect.top // 相交区域的上边界坐标res.intersectionRect.width // 相交区域的宽度res.intersectionRect.height // 相交区域的高度})}
})

上面是相当于视口的,如何相当于目标元素视口:
使用relativeTo。

<view class="container"><view class="page-body"><view class="page-section message"><text wx:if="{{appear}}">小球出现</text><text wx:else>小球消失</text></view><view class="page-section"><scroll-view class="scroll-view" scroll-y><view class="scroll-area" style="{{appear ? 'background: #ccc' : ''}}"><text class="notice">向下滚动让小球出现</text><view class="filling"></view><view class="ball"></view></view></scroll-view></view></view>
</view>
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()}
})

小球与目标元素刚一交叉就出现。
在这里插入图片描述

继续滑动小球会消失
在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • stm32F103 串口2 中断 无法接收指定字符串 [已解决]
  • 用idea写Spark程序时,想要在控制台打印日志?
  • class 6: vue.js 3 组件化开发
  • 微服务--Nacos配置管理
  • axios返回的是promise对象如何处理?
  • Mysql高阶语句(1)
  • Python教程:使用 Python 和 PyHive 连接 Hive 数据库
  • HALCON 错误代码 #7709
  • 缓存分布式一致性问题
  • Golang 小项目(3)
  • 【重学 MySQL】六、MySQL 的下载、安装、配置
  • npm、yarn、pnpm小节
  • css三点闪烁(可用于加载样式、标题等)
  • AWS EC2安全组配置:轻松开放端口访问
  • DataX导入或导出hive数据
  • [deviceone开发]-do_Webview的基本示例
  • 【391天】每日项目总结系列128(2018.03.03)
  • 【node学习】协程
  • 07.Android之多媒体问题
  • 2017 年终总结 —— 在路上
  • Android交互
  • ECS应用管理最佳实践
  • Javascript弹出层-初探
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • Python_网络编程
  • React+TypeScript入门
  • React-flux杂记
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • vagrant 添加本地 box 安装 laravel homestead
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 基于组件的设计工作流与界面抽象
  • ------- 计算机网络基础
  • 巧用 TypeScript (一)
  • 深度学习中的信息论知识详解
  • 什么是Javascript函数节流?
  • 推荐一个React的管理后台框架
  • 怎么把视频里的音乐提取出来
  • 找一份好的前端工作,起点很重要
  • 7行Python代码的人脸识别
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • # include “ “ 和 # include < >两者的区别
  • #etcd#安装时出错
  • $().each和$.each的区别
  • (cljs/run-at (JSVM. :browser) 搭建刚好可用的开发环境!)
  • (C语言)编写程序将一个4×4的数组进行顺时针旋转90度后输出。
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (二)延时任务篇——通过redis的key监听,实现延迟任务实战
  • (附源码)ssm高校升本考试管理系统 毕业设计 201631
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (译)计算距离、方位和更多经纬度之间的点
  • (转)关于pipe()的详细解析
  • .NET NPOI导出Excel详解