微信小程序的页面滚动事件监听

微信小程序中可以通过 Page 的 onPageScroll 方法来监听页面滚动事件。具体步骤如下:

在页面的 onLoad 方法中注册页面滚动事件监听器:

bash 复制代码
Page({
  onLoad: function () {
    wx.pageScrollTo({
      scrollTop: 0,
      duration: 0
    });

    wx.showLoading({
      title: '加载中',
    });

    wx.createSelectorQuery().select('#container').boundingClientRect((rect) => {
      this.setData({
        containerHeight: rect.height
      });
      wx.hideLoading();
    }).exec();

    wx.showShareMenu({
      withShareTicket: true,
      menus: ['shareAppMessage', 'shareTimeline']
    });

    wx.setNavigationBarTitle({
      title: '页面标题'
    });

    wx.setNavigationBarColor({
      frontColor: '#ffffff',
      backgroundColor: '#000000'
    });

    wx.setTabBarBadge({
      index: 0,
      text: '1'
    });

    wx.setTabBarItem({
      index: 0,
      text: '首页'
    });

    wx.setTabBarStyle({
      color: '#000000',
      selectedColor: '#ff0000',
      backgroundColor: '#ffffff',
      borderStyle: 'black'
    });

    wx.setTopBarText({
      text: '顶部标题'
    });

    wx.setEnableDebug({
      enableDebug: true
    });

    wx.onPageScroll((event) => {
      console.log(event.scrollTop);
    });
  }
});

在 onPageScroll 方法中处理页面滚动事件。onPageScroll 方法会在页面滚动时被调用,参数 event 包含了当前页面滚动的位置信息,例如 event.scrollTop 表示当前页面滚动的距离。

需要注意的是,onPageScroll 方法只能在页面的 onLoad 方法中注册,如果需要在其他地方监听页面滚动事件,可以考虑使用 wx.createIntersectionObserver 方法来创建一个交叉观察器,或者使用第三方组件库中提供的滚动组件来实现。

相关推荐
whinc2 天前
🚀 两年小程序开发,我把踩过的坑做成了开源 Skills
前端·微信小程序·ai编程
Lupino2 天前
烧掉 10 刀 API 费,我才明白小程序虚拟列表根本不用“库”!
react.js·微信小程序
小溪彼岸3 天前
是时候给想做小程序的小伙伴泼盆冷水了
微信小程序
远山枫谷4 天前
一文理清页面/组件通信与 Store 全局状态管理
前端·微信小程序
木易士心5 天前
一文读懂:微信小程序云数据库直连原理与使用指南
微信小程序·serverless
明月_清风5 天前
小程序云函数:从入门到全栈的“降维打击”指南
前端·微信小程序·小程序·云开发
拉不动的猪6 天前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
WangHappy8 天前
不写 Canvas 也能搞定!小程序图片导出的 WebView 通信方案
前端·微信小程序
小时前端8 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
icebreaker9 天前
Weapp-vite:原生模式之外,多一种 Vue SFC 选择
前端·vue.js·微信小程序