微信小程序之判断页面滚动方向的示例代码
程序员文章站
2023-10-26 17:16:16
微信小程序中如果判断页面滚动方向?
解决方案
1.用到微信小程序api
获取页面实际高度 nodesref.boundingclientrect([callbac...
微信小程序中如果判断页面滚动方向?
解决方案
1.用到微信小程序api
获取页面实际高度 nodesref.boundingclientrect([callback])
监听用户滑动页面事件onpagescroll。
2.获取页面实际高度
<!--wxml--> <view id="box"> <view class="list" wx:for="{{list}}" wx:key="list{{index}}"> <image mode='aspectfill' class='list_img' src="{{item.imgurl}}" ></image> </view> </view>
/* js */ // 封装函数获取id为box的元素实际高度 getscrollheight: function() { wx.createselectorquery().select('#box').boundingclientrect((rect) => { this.setdata({ scrollheight: rect.height }) console.log(this.data.scrollheight) }).exec() }, // 假设数据请求 getdatalist: function() { wx.request({ url: 'test.php', //仅为示例,并非真实的接口地址 success: function(res) { // 如果该元素下面的数据是动态获取的,此方法在wx.request请求成功的回调函数中调用 this.getscrollheight() } }) },
3.监听用户滑动页面事件
//监听用户滑动页面事件 onpagescroll: function(e) { if (e.scrolltop <= 0) { // 滚动到最顶部 e.scrolltop = 0; } else if (e.scrolltop > this.data.scrollheight) { // 滚动到最底部 e.scrolltop = this.data.scrollheight; } if (e.scrolltop > this.data.scrolltop || e.scrolltop >= this.data.scrollheight) { //向下滚动 console.log('向下 ', this.data.scrollheight) } else { //向上滚动 console.log('向上滚动 ', this.data.scrollheight) } //给scrolltop重新赋值 this.setdata({ scrolltop: e.scrolltop }) },
ps:微信小程序滚动到某个位置改变效果
<scroll-view> <view>some of the words<view> <view bindscroll="scroll" class="{{variable>200 ? 'class1' : 'class2'}}"</view> </scroll-view>
//js文件 //滚动监听 scroll: function (e) { this.setdata({ scrolltop:e.detail.scrolltop }) }
其中,variable为全局变量,class1、class2即为相应的css
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 登录Windows界面前执行自定义脚本
下一篇: 真会享受