返回顶部
首页 > 资讯 > 前端开发 > JavaScript >小程序中监听页面滚动的几种方法实例
  • 768
分享到

小程序中监听页面滚动的几种方法实例

2024-04-02 19:04:59 768人浏览 安东尼
摘要

目录目录实现效果下面是Intersection Observer在MDN上的介绍IntersectionObserverrelativeToViewport接受参数 Object m

在工作中我们经常遇到需要监听页面中元素位置,当元素超出显示区域或即将显示到页面上,我们就可以做一些动画或者操作。最常见的操作比如预加载,懒加载,TAB滚动跟随。

目录

  • Intersection Observer 在MDN上的介绍
  • 小程序中 IntersectionObserver 的使用

实现效果

在浏览器的情况下,我们可以使用 Intersection Observer

下面是Intersection Observer在MDN上的介绍

MDN链接

IntersectionObserver接口 (从属于Intersection Observer api) 提供了一种异步观察目标元素与其祖先元素或顶级文档视窗(viewport)交叉状态的方法。祖先元素与视窗(viewport)被称为根(root)。

当一个IntersectionObserver对象被创建时,其被配置为监听根中一段给定比例的可见区域。一旦IntersectionObserver被创建,则无法更改其配置,所以一个给定的观察者对象只能用来监听可见区域的特定变化值;然而,你可以在同一个观察者对象中配置监听多个目标元素。

简单来说,就是我们能不能看到想要观察的对象。

在网页中,我们很容易就可以用实现Intersection Observer,而在小程序中,我们需要再多掌握一点知识。

IntersectionObserver

小程序中IntersectionObserver的文档地址

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

relativeToViewport

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

Page({
  onLoad: function(){
    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 // 相交区域的高度
    })
  }
})

接受参数 Object margins

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

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

observe(string targetSelector, function callback)

参数

(targetSelector:string,callback:function)

Object res

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

小程序中监听页面的其他方法

page-meta

页面属性配置节点,用于指定页面的一些属性、监听页面事件。只能是页面内的第一个节点。可以配合 navigation-bar 组件一同使用。

scroll-view

可滚动视图区域。使用竖向滚动时,需要给 scroll-view一个固定高度,通过 WXSS 设置 height。组件属性的长度单位默认为px。

总结

在小程序中,我们可以用 IntersectionObserver ,来监听页面的元素与页面交叉的距离,如此一来我们便可以在小程序中实现懒加载,预加载,动画等效果。

我们也可以用 page-meta 和 scroll-view 来实现滚动监听,具体需要结合实际场景。

到此这篇关于小程序中监听页面滚动的几种方法的文章就介绍到这了,更多相关小程序监听页面滚动内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 小程序中监听页面滚动的几种方法实例

本文链接: https://lsjlt.com/news/146330.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 小程序中监听页面滚动的几种方法实例
    目录目录实现效果下面是Intersection Observer在MDN上的介绍IntersectionObserverrelativeToViewport接受参数 Object m...
    99+
    2024-04-02
  • 微信小程序实现监听页面滚动
    本文实例为大家分享了微信小程序实现监听页面滚动的具体代码,供大家参考,具体内容如下 1.正常状态下 2.页面滚动到大于100时显示定位到顶部的view盒子 3.html部分 &l...
    99+
    2024-04-02
  • 微信小程序实现页面滚动监听效果
    抱歉,我无法提供具体代码示例。如果你想了解如何在微信小程序中实现页面滚动监听效果,可以通过以下步骤自己尝试:创建一个新的微信小程序项目。在 wxml 文件中编写页面结构,包括需要滚动监听的元素。在 wxss 文件中设置页面样式,包括滚动监听...
    99+
    2023-11-21
    页面滚动 微信小程序 监听效果
  • H5页面跳转到小程序的几种实现方法
    第一种:通过 URL Scheme 可以通过服务端接口或在小程序管理后台「工具」-「生成 URL Scheme」入口可以获取打开小程序任意页面的 URL Scheme 使用示例 服务端配置好接口,客户端调用接口传入目标小程序的path路径 ...
    99+
    2023-08-17
    小程序 微信小程序
  • 小程序内嵌H5页面监听小程序的返回事件
    因为业务上有需求,在开发小程序的时候有些页面要使用web-view组件嵌套H5页面 有个页面内有个表单,在表单内容还为填写完成的时候,监听用户点击左上角返回事件,弹出一个提示框,因为H5页面在小程序中的层级很高,所以弹出提示框只能在H5页面...
    99+
    2023-09-13
    小程序 前端 javascript
  • 小程序跨页面传递参数的几种方式
    当我们在开发小程序时,经常会遇到需要在不同页面之间传递数据的情况。为了实现页面间的数据传递,小程序提供了多种方法。下面将介绍几种常用的传递数据的方法。 URL参数传递:这是一种简单直接的传递数据的方式。在跳转页面时,可以在URL中添加参数来...
    99+
    2023-10-26
    小程序
  • 微信小程序如何监听手势滑动切换页面
    这篇文章给大家分享的是有关微信小程序如何监听手势滑动切换页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。微信小程序 监听手势滑动切换页面实例详解1.对应的xml里写上手势开始、...
    99+
    2024-04-02
  • vue监听页面中的某个div的滚动事件并判断滚动的位置
      在开发中常常会遇到这样一个vue页面,页面分为左右两部分,左边是目录树,右边是一个类名为xq-box的div,在xq-box中多个div上下并列布局,每个di...
    99+
    2024-04-02
  • 小程序页面间传参的五种方式实例详解
    目录前言1、使用globalData2、使用storage3、使用url3.1 api跳转3.2 组件跳转4、使用通信通道5、使用页面栈总结前言 由于经常需要进行页面间传参且各种传参...
    99+
    2022-11-13
    小程序 传参 微信小程序传参 微信小程序 页面传数据
  • JavaScript实现页面滚动动画的方法
    小编给大家分享一下JavaScript实现页面滚动动画的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JavaScript可以做什么1.可以使网页具有交互性,...
    99+
    2023-06-14
  • vue实现锚点跳转及滚动监听的方法
    vue中实现锚点跳转以及滚动监听跳转到相应标签的方法,供大家参考,具体内容如下 *注意·如果scroll-item的最后一个元素高度必须大于等于滚动区域的高度,不然最后...
    99+
    2024-04-02
  • uniapp页面间传参的几种方法实例总结
    目录前言一、上级页面 → 下级页面(单向)uni.navigateTo:URL编程式传参<navigator>标签传参二、上级页面 ← 下级页面(单向...
    99+
    2022-12-22
    uniapp 页面传参 uniapp页面参数传递 uniapp传值
  • 小程序中如何实现将页面滚动到目标位置
    本文将为大家详细介绍“小程序中如何实现将页面滚动到目标位置”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“小程序中如何实现将页面滚动到目标位置”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下...
    99+
    2023-06-26
  • 微信小程序实现弹出层禁止页面滚动
    本文实例为大家分享了微信小程序实现弹出层禁止页面滚动的具体代码,供大家参考,具体内容如下 效果图 是否随页面滚动 catchtouchmove true开启 return关闭 .w...
    99+
    2024-04-02
  • 微信小程序页面滚动到指定位置的示例分析
    这篇文章主要介绍微信小程序页面滚动到指定位置的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!页面上有一个元素或者组件,id 为 comment则:var me&nb...
    99+
    2024-04-02
  • 如何使用vue监听页面中某个div的滚动事件并判断滚动位置
    这篇文章主要介绍如何使用vue监听页面中某个div的滚动事件并判断滚动位置,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!  在开发中常常会遇到这样一个vue页面,页面分为左右两部分,左边是目录树,...
    99+
    2023-06-29
  • JS 实现页面跳转的几种方法
    JS 实现页面跳转的几种方法 要实现从一个页面A跳到另一个页面B,js实现就在A的js代码加跳转代码 JS跳转大概有以下几种方式: 第一种:(跳转到b.html)   window.location.href="b.html"; ...
    99+
    2023-09-25
    javascript 前端 开发语言 ecmascript java
  • 微信小程序返回上一页的各种方法实例
    目录一、方法罗列二、讲解三、常用案例四、总结补充:微信小程序如何返回上一个页面并刷新上一个页面总结返回上一页,一共有4中方法,每种方法都有不一样细节 一、方法罗列 函数说明navig...
    99+
    2024-04-02
  • 详解Android Activity中的几种监听器和实现方式
    目录ActivityView常用事件接口设置监听的几种方法1)让Activity实现接口2) 匿名内部类3) onClick可以在xml中设置4) 实现类5) 成员变量Activit...
    99+
    2024-04-02
  • 微信小程序之五种页面跳转方法小结
    目录第一种:<navigator></navigator>标签.第二种:wx.navigateTo.第三种:wx.redirectTo.第四种:wx.swit...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作