小程序 API 能力汇总——TYML IntersectionObserver API

ty.createIntersectionObserver

创建并返回一个 IntersectionObserver 对象实例。在自定义组件或包含自定义组件的页面中,应使用 this.createIntersectionObserver([options]) 来代替。

使用方式

ty.createIntersectionObserver(instance, [options]);
this.createIntersectionObserver([options]);

instance

页面实例或自定义组件实例。

options

选项

属性类型默认值必填说明最低版本
thresholdsArray<number>[0]一个数值数组,包含所有阈值。
initialRationumber0初始的相交比例,如果调用时检测到的相交比例与这个值不相等且达到阈值,则会触发一次监听器的回调函数。
observeAllbooleanfalse是否同时观测多个目标节点(而非一个),如果设为 true ,observe 的 targetSelector 将选中多个节点(注意:同时选中过多节点将影响渲染性能)
返回值

IntersectionObserver

示例代码
Page({onLoad() {this._observer = ty.createIntersectionObserver(this);this._observer.relativeTo('.scroll-view').observe('.ball', (res) => {this.setData({appear: res.intersectionRatio > 0,});});},onUnload() {if (this._observer) this._observer.disconnect();},
});

IntersectionObserver

IntersectionObserver 对象,用于推断某些节点是否可以被用户看见、有多大比例可以被用户看见。

方法

IntersectionObserver.observe

指定目标节点并开始监听相交状态变化情况

IntersectionObserver.disconnect

停止监听。回调函数将不再触发

IntersectionObserver IntersectionObserver.relativeTo

使用选择器指定一个节点,作为参照区域之一。

IntersectionObserver IntersectionObserver.relativeToViewport

指定页面显示区域作为参照区域之一

observe

IntersectionObserver.observe(string targetSelector, function callback)

指定目标节点并开始监听相交状态变化情况

参数
string targetSelector

选择器

function callback

监听相交状态变化的回调函数

参数

Object res

属性类型说明
idstring节点 ID
datasetRecord.<string, any>节点自定义数据属性
intersectionRationumber相交比例
intersectionRectObject相交区域的边界
boundingClientRectObject目标边界
relativeRectObject参照区域的边界
timenumber相交检测时的时间戳

res.intersectionRect 的结构

属性类型说明
leftnumber左边界
rightnumber右边界
topnumber上边界
bottomnumber下边界
widthnumber宽度
heightnumber高度

res.boundingClientRect 的结构

属性类型说明
leftnumber左边界
rightnumber右边界
topnumber上边界
bottomnumber下边界
widthnumber宽度
heightnumber高度

res.relativeRect 的结构

属性类型说明
leftnumber左边界
rightnumber右边界
topnumber上边界
bottomnumber下边界

disconnect

IntersectionObserver.disconnect()

停止监听。回调函数将不再触发

relativeTo

IntersectionObserver.relativeTo(string selector, Object margins)

使用选择器指定一个节点,作为参照区域之一。

参数

string selector

选择器

Object margins

用来扩展(或收缩)参照节点布局区域的边界

属性类型默认值必填说明
leftnumber节点布局区域的左边界
rightnumber节点布局区域的右边界
topnumber节点布局区域的上边界
bottomnumber节点布局区域的下边界

返回值

IntersectionObserver

relativeToViewport

IntersectionObserver.relativeToViewport(Object margins)

指定页面显示区域作为参照区域之一

Object margins

用来扩展(或收缩)参照节点布局区域的边界

属性类型默认值必填说明
leftnumber节点布局区域的左边界
rightnumber节点布局区域的右边界
topnumber节点布局区域的上边界
bottomnumber节点布局区域的下边界

返回值 IntersectionObserver

示例代码

Page({onLoad: function () {ty.createIntersectionObserver(this).relativeToViewport({ bottom: 100 }).observe('.target-class', (res) => {res.intersectionRatio; // 相交区域占目标节点的布局区域的比例res.intersectionRect; // 相交区域res.intersectionRect.left; // 相交区域的左边界坐标res.intersectionRect.top; // 相交区域的上边界坐标res.intersectionRect.width; // 相交区域的宽度res.intersectionRect.height; // 相交区域的高度});},
});

👉 立即开发。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723324.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言项目实战——贪吃蛇

C语言实现贪吃蛇 前言一、 游戏背景二、游戏效果演示三、课程目标四、项目定位五、技术要点六、Win32 API介绍6.1 Win32 API6.2 控制台程序6.3 控制台屏幕上的坐标COORD6.4 GetStdHandle6.5 GetConsoleCursorInfo6.5.1 CONSOLE_CURSOR_INFO 6.6 SetConsoleCursorInfo6.7 SetCon…

2025汤家凤考研数学,基础视频课程+百度网盘+PDF真题讲解

平时大家都半开玩笑地讲&#xff1a;我数学想要考150分&#xff01;那索性今天这一期&#xff0c;今天认真和大家聊一下&#xff1a; 想考到考研数学150分&#xff0c;应该如何准备&#xff1f; 如果还有小伙伴不知道在哪看汤神的ke&#xff0c;可以看一下以下 2025汤神全程…

K线实战分析系列之二十:分手线——少见的持续信号

K线实战分析系列之二十&#xff1a;分手线——少见的持续信号 一、分手线二、分手线总结 一、分手线 从同一个地方出发&#xff0c;到相反的方向结束 二、分手线总结 分手线形态上一种持续信号&#xff0c;一般出现在趋势的中继阶段但是少数情况也会出现在行情的顶底的区域&a…

主备DNS服务器搭建并验证

目录 1. 配置静态网络 2. 配置主备DNS 2.1 DNS备服务器&#xff08;第二个虚拟机&#xff09; 2.2 两个虚拟机操作 2.3 备用服务器&#xff08;第二个虚拟机&#xff09;执行 2.4 两个虚拟机都添加DNS: 3. 验证 3.1 主DNS服务验证: 3.2 备用DNS服务器验证&am…

C/C++ 说说引用这玩仍是干啥的

引用的本质就是给某个实例对象起个外号。生活中李逵&#xff0c;也叫黑旋风。诸葛亮&#xff0c;又叫孔明。 引用的方式&#xff1a; 类型& 引用名对象名 举个例子 int i0; int& ki;//这种方式就是引用----->i有了自己的小名&#xff0c;从次叫k了 std::cout<…

LSTM长短期记忆网

笔记来源—— 【重温经典】大白话讲解LSTM长短期记忆网络 如何缓解梯度消失&#xff0c;手把手公式推导反向传播 LSTM网络结构 RNN结构 下面拉出一个单元结构进行讲解 &#xff1a;记忆细胞&#xff0c;t-1时刻的记忆细胞 :表示状态,t-1时刻的状态 正是这样经过了一个单元&a…

稀碎从零算法笔记Day9-LeetCode:最后一个单词的长度

题型&#xff1a;字符串、反转字符串 链接:58. 最后一个单词的长度 - 力扣&#xff08;LeetCode&#xff09; 来源&#xff1a;LeetCode 题目描述&#xff08;红字为笔者添加&#xff09; 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔…

【Azure 架构师学习笔记】- Azure Service Endpoint

本文属于【Azure 架构师学习笔记】系列。 前言 在做Azure 架构时&#xff0c;经常会被问到Service Endpoint这个点&#xff0c;那么这篇文章来介绍一下Service Endpoint&#xff08;SE&#xff09;。 Azure Service Endpoint 首先它是一个专用通道&#xff0c;在Azure 资源之…

面试准备:排序算法大汇总 C++

排序算法总结 直接插入排序 取出未排序部分的第一个元素&#xff0c;与已排序的部分从后往前比较&#xff0c;找到合适的位置。将大于它的已排序的元素向后移动&#xff0c;将该元素插入到合适的位置。 //1. 直接插入排序 void InsertionSort(vector<int>& nums){f…

【MapReduce】02.Hadoop序列化

实现bean对象序列化步骤 自定义bean对象实现序列化接口。 1&#xff09;必须实现Writable接口 2&#xff09;反序列化时&#xff0c;需要反射调用空参构造函数&#xff0c;所以必须有空参构造 public FlowBean(){super(); } 3&#xff09;重写序列化方法 Override public …

力扣日记3.6-【回溯算法篇】51. N 皇后

力扣日记&#xff1a;【回溯算法篇】51. N 皇后 日期&#xff1a;2023.3.6 参考&#xff1a;代码随想录、力扣 51. N 皇后 题目描述 难度&#xff1a;困难 按照国际象棋的规则&#xff0c;皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将…

汽车级瞬态抑制TVS二极管优势特性及型号大全

汽车级瞬态抑制TVS二极管是一种高性能的防浪涌过电压电路保护元器件&#xff0c;能够在瞬态电压过高的情况下提供可靠的保护。它能够迅速响应并吸收过电压&#xff0c;将其导向地线&#xff0c;从而保护车辆的电子设备免受损坏。东沃汽车级TVS二极管具有以下几个关键优势&#…

javaWebssh文玩竞价管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计

一、源码特点 java ssh文玩竞价管理系统是一套完善的web设计系统&#xff08;系统采用ssh框架进行设计开发&#xff09;&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为TOMCAT7.0…

如何生成带有CRC的bin文件

本文介绍如何生成带有CRC的bin文件。 MCU在上电运行时&#xff0c;通常需要校验程序是否正确&#xff08;有无篡改或烧录文件出错&#xff09;&#xff0c;一般的做法是在烧录文件&#xff08;通常是bin文件&#xff09;末尾追加CRC&#xff08;CRC-8&#xff0c;CRC-16&#…

GET 和 POST 请求:理解它们之间的区别和适用场景

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

2023年12月CCF-GESP编程能力等级认证Python编程八级真题解析

本文收录于专栏《Python等级认证CCF-GESP真题解析》,专栏总目录・点这里 一、单选题(每题 2 分,共 30 分) 第1题 小杨要从 A 城到 B 城,又想顺路游览一番。他有两个选项:1、坐高铁路到 C 城游览,再坐高铁或飞机到 B 城;2、坐船到 D 城游览,再坐船、高铁或飞机到 B 城…

黑马程序员HarmonyOS4+NEXT星河版入门到企业级实战教程 整理笔记 这篇就够了

素材来源视频&#xff1a;00.课程介绍_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Sa4y1Z7B1/?p1&vd_sourced0ea58f1127eed138a4ba5421c577eb1 鸿蒙开发工具&#xff1a;DevEco Studio 官网地址&#xff1a;https://developer.harmonyos.com/ 目录 一、常用…

环信 Vue2 uniapp Demo重构焕新!经典再升级!

项目背景 当前官网 uni-app vue2 Demo 地址 当前版本功能实现方式较混乱&#xff0c;代码逻辑晦涩难懂&#xff0c;不利于开发者参考或复用。此实战项目主要优化现有代码结构&#xff0c;以确保未来项目的可维护性和扩展性。 重构目标 本次重构中原始 Demo 代码逻辑完全重写…

CMMI的具体流程

CMMI&#xff08;Capability Maturity Model Integration&#xff09;流程是指企业或组织按照CMMI模型进行过程改进的系列步骤。下面是对CMMI流程的一般性描述&#xff1a; 1.评估现状与设定目标&#xff1a;•企业首先需要了解自己现有的过程成熟度水平&#xff0c;通过内部审…

H12-821_131

131.如图所示&#xff0c;R1、R2、R3和R4运行OSPF&#xff0c;缺省情况下该网络中选举________个DR。&#xff08;请填写阿拉伯数字&#xff09; 答案&#xff1a;3 注释&#xff1a; DR是链路上的概念&#xff0c;使用路由器接口的IP地址表示。链路的网络类型是广播网络类型或…