web之移动端实现触底和触顶功能、微信小程序、置顶、置底、触发、uniApp、onReachBottom、onPageScroll

这篇具有很好参考价值的文章主要介绍了web之移动端实现触底和触顶功能、微信小程序、置顶、置底、触发、uniApp、onReachBottom、onPageScroll。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


微信小程序

触底

/**
 * 上拉触底事件
 */
onReachBottom() {
	console.log('上拉触底事件触发');
}

onReachBottom
监听用户上拉触底事件。
可以在app.jsonwindow选项中或页面配置中设置触发距离onReachBottomDistance
在触发距离内滑动期间,本事件只会被触发一次。

触顶事件

onPageScroll({ scrollTop }) {
	console.log('页面滑动触发');

	if(scrollTop === 0) conosle.log('触顶');
}

onPageScroll(Object object)
监听用户滑动页面事件。
参数Object object的属性为scrollTop;类型为Number,表示页面在垂直方向已滚动的距离,单位是px
请只在需要的时候才在page中定义此方法,不要定义空方法。以减少不必要的事件派发对渲染层逻辑层通信的影响。
请避免在onPageScroll中过于频繁的执行setData等引起逻辑层-渲染层通信的操作。尤其是每次传输大量数据,会影响通信耗时。


uniApp

触底

onReachBottom() {
	console.log('触底');
}

页面滚动到底部的事件(不是scroll-view滚到底),常用于下拉下一页数据。
onReachBottom可在pages.json里定义具体页面底部的触发距离onReachBottomDistance,比如设为50,那么滚动页面到距离底部50px时,就会触发onReachBottom事件。

触顶

onPageScroll({ scrollTop }) {
    console.log('监听页面滚动');

    if (scrollTop === 0) console.log('页面触顶');
}

scrollTop返回的是Number类型,页面在垂直方向已滚动的距离,单位为px
onPageScroll里不要写交互复杂的js,比如频繁修改页面。因为这个生命周期是在渲染层触发的,在非h5端,js是在逻辑层执行的,两层之间通信是有损耗的。如果在滚动过程中,频发触发两层之间的数据交换,可能会造成卡顿。
如果想实现滚动时标题栏透明渐变,在AppH5下,可在pages.json中配置titleNView下的typetransparent
如果需要滚动吸顶固定某些元素,推荐使用css的粘性布局,参考插件市场。插件市场也有其他js实现的吸顶插件,但性能不佳,需要时可自行搜索。
App、微信小程序、H5中,也可以使用wxs监听滚动;在app-nvue中,可以使用bindingx监听滚动。
onBackPress上不可使用async,会导致无法阻止默认返回。


应用场景

此应用场景会在自定义tabBar时用得比较多,因为自定义tabBar时,对应的tabBar页面不会触发触底和滚动事件。此时存放tabBar的父页面的触底和滚动事件会被触发,可以借用ref实现对应tabBar页面的函数调用。文章来源地址https://www.toymoban.com/news/detail-563467.html

到了这里,关于web之移动端实现触底和触顶功能、微信小程序、置顶、置底、触发、uniApp、onReachBottom、onPageScroll的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp实现城市列表选择获取经纬度、附带搜索功能(移动端、微信小程序)

    所用到的技术 腾讯地图微信小程序SDK 高德地图WebServiceAPI服务 APP获取是否授权插件 uview框架(不是必须) 接下来带大家去申请 腾讯地图微信小程序SDK 微信小程序JavaScript SDK 点击下载 JavaScriptSDK v1.2 然后去申请腾讯地图的 key 先创建应用 在添加key 在应用列表中就能看到我们申

    2024年02月11日
    浏览(69)
  • Vue中实现Web端鼠标横向滑动和触控板滑动效果

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 在Web端,我们经常需要实现鼠标横向滑动和触控板滑动的效果,以便在页面中展示横向滑动的内容。本文将介绍如

    2024年02月13日
    浏览(43)
  • 微信小程序 居中、居右、居底和横向、纵向布局,文字在图片中间,网格布局

    微信小程序居中、居右、横纵布局 1、水平垂直居中(相对父类控件) 方式一:水平垂直居中 父类控件:   //注意:这里的 height 写 100%会使得垂直居中可能会不生效 可能会有兼容问题 方式二:水平垂直居中(方式二推荐) 父类控件:position: relative; 子类控件: 方式三:水

    2024年02月14日
    浏览(60)
  • 实现微信小程序web-view内嵌H5中的下载功能(大文件切片下载)

    微信小程序的开发框架是uniapp,使用uniapp脚手架搭建,其中有页面是展示另一个小程序,在这个页面主体内容使用了标签将H5的页面内容展示,H5中有页面存放了下载的路径。点击下载按钮下载文件,或者预览文件让用户手动保存。 如果是pc端,下载用一个 a 标签就很容易,但

    2024年02月10日
    浏览(149)
  • H5 移动端浏览器调用微信的分享功能

    API参考:概述 | 微信开放文档  封装  .js Tips: title,desc,imgURL,根据自己需求进行配置 分享到微信聊天框的示例图

    2024年02月12日
    浏览(45)
  • 微信小程序上拉触底事件

    上拉触底是移动端的专有名词,通过手指在屏幕上的上拉滑动操作,从而加载更多数据的行为。 在页面的.js文件中,通过onReachBottom()函数即可监听当前页面的上拉触底事件。 上拉触底距离指的是触发上拉触底事件时,滚动条距离页面底部的距离。 可以在全局或页面的 .json

    2024年02月09日
    浏览(49)
  • 【微信小程序】-—下拉刷新、上拉触底事件详细讲解

    下拉式移动端的专有名词,指的是通过手指子在屏幕上的下拉滑动操作,从而重新加载页面数据 (1)方法一:全局开启下拉刷新 在app.json的window节点中,将enablePullDownRefresh设置为true (2)方法二:局部开启下拉刷新 在页面的.json配置文件中,将enablePullDownRefresh设置为true 在实

    2024年02月06日
    浏览(50)
  • 6-微信小程序导航跳转、下拉触底、生命周期

    navigator 导航组件 官网传送门 导航到tabBar页面 在使用 navigator 跳转到tabbar页面需指定 url 和 open-type 属性, open-type 必须为 switchTab 例:从home页跳转到message wxml 导航到非tabBar页面 在使用 navigator 跳转到非tabbar页面需指定 url 和 open-type 属性, open-type 必须为 navigate 例:从home页跳

    2024年01月23日
    浏览(45)
  • 【java】【ssm】【微信小程序】 初级移动医院预约系统成品代码动态网站开发网页WEB浏览器端B/S结构移动微信小程序端项目

    本系统是使用java语言结合mysql数据库开发的医院预约系统,后台管理是网页WEB浏览器端B/S结构,移动端是微信小程序。 其中分为前端和后台。 前端主要是患者预约使用,包括预约、医生详情查看、医生列表查询、个人中心等。 后台则是对系统的所有数据进行管理。 后台用户

    2024年02月03日
    浏览(50)
  • 微信小程序触底加载scroll-view

    需求:有个固定高度的容器,实现容器里面的内容触底加载 1、内容盒子的高度 2、盒子里内容的总高度 3、滚动条的scrollTop 触底加载的原理就是 当里面的容器触底的时候进行分页,请求接口合并数据 公式 盒子的高度+滚动条的scrollTop = 内容高度 使用原生的计算方法比较麻烦

    2024年02月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包