欢迎进入广州凡科互联网科技有限公司网站
全国服务热线
4000-399-000
会议室预约小程序_微信小程序完成页面下拉改写
时间: 2021-01-08 11:14 浏览次数:
手机微信微信小程序完成网页页面往下拉更新和上拽载入作用详细说明 本文关键详细介绍了手机微信微信小程序完成网页页面往下拉更新和上拽载入作用,融合案例方式剖析了手机
微信小程序实现页面下拉刷新和上拉加载功能详解       这篇文章主要介绍了微信小程序实现页面下拉刷新和上拉加载功能,结合实例形式分析了微信小程序页面下拉刷新和上拉加载相关事件监听与功能实现操作技巧,需要的朋友可以参考下

本文实例讲述了微信小程序实现页面下拉刷新和上拉加载功能。分享给大家供大家参考,具体如下:

web手机端或App中经常会有下拉刷新,上拉加载这些功能。

微信小程序中如何实现下拉刷新,上拉加载的功能。

实现思路:

1.监听界面的下拉刷新事件和上拉加载事件

bindscrolltolower 监听上拉加载 bindscrolltoupper 监听下拉刷新

2.下拉刷新时清空数据列表,并重新请求数据进行界面展示。

3.上拉加载增量请求数据,增量增加数据列表,增量界面展示

效果图:

实现代码:

WaterFall.wxml:

 !--pages/WaterFall/WaterFall.wxml-- 
 view 
 image wx:for="{{images}}" wx:key="id" id="{{item.id}}" src="{{item.pic}}" bindload="onImageLoad" /image 
 /view 
 scroll-view scroll-y="true" bindscrolltolower="loadImages" bindscrolltoupper="PullDownRefresh" 
 view 
 view 
 view wx:for="{{col1}}" wx:key="id" 
 image src="{{item.pic}}" /image 
 /view 
 /view 
 view 
 view wx:for="{{col2}}" wx:key="id" 
 image src="{{item.pic}}" /image 
 /view 
 /view 
 /view 
 /scroll-view 

WaterFall.js:

let col1H = 0;
let col2H = 0;
Page({
 data: {
 scrollH: 0,
 imgWidth: 0,
 loadingCount: 0,
 images: [],
 col1: [],
 col2: []
 onLoad: function () {
 wx.getSystemInfo({
 success: (res) = {
 let ww = res.windowWidth;
 let wh = res.windowHeight;
 let imgWidth = ww * 0.48;
 let scrollH = wh;
 this.setData({
 scrollH: scrollH,
 imgWidth: imgWidth
 //加载首组图片
 this.loadImages();
 PullDownRefresh:function(){
 console.log("页面下拉2");
 onShow: function () {
 console.log("页面显示");
 * 生命周期函数--监听页面隐藏
 onHide: function () {
 console.log("页面隐藏");
 * 用户点击右上角分享
 onShareAppMessage: function () {
 console.log("点击分享");
 onImageLoad: function (e) {
 let imageId = e.currentTarget.id;
 let oImgW = e.detail.width; //图片原始宽度
 let oImgH = e.detail.height; //图片原始高度
 let imgWidth = this.data.imgWidth; //图片设置的宽度
 let scale = imgWidth / oImgW; //比例计算
 let imgHeight = oImgH * scale; //自适应高度
 let images = this.data.images;
 let imageObj = null;
 for (let i = 0; i images.length; i++) {
 let img = images[i];
 if (img.id === imageId) {
 imageObj = img;
 break;
 imageObj.height = imgHeight;
 let loadingCount = this.data.loadingCount - 1;
 let col1 = this.data.col1;
 let col2 = this.data.col2;
 //判断当前图片添加到左列还是右列
 if (col1H = col2H) {
 col1H += imgHeight;
 col1.push(imageObj);
 } else {
 col2H += imgHeight;
 col2.push(imageObj);
 let data = {
 loadingCount: loadingCount,
 col1: col1,
 col2: col2
 //当前这组图片已加载完毕,则清空图片临时加载区域的内容
 if (!loadingCount) {
 data.images = [];
 this.setData(data);
 loadImages: function () {
 let images = [
 { pic: "../../images/1.png", height: 0 },
 { pic: "../../images/2.png", height: 0 },
 { pic: "../../images/3.png", height: 0 },
 { pic: "../../images/4.png", height: 0 },
 { pic: "../../images/5.png", height: 0 },
 { pic: "../../images/6.png", height: 0 },
 { pic: "../../images/7.png", height: 0 },
 { pic: "../../images/8.png", height: 0 },
 { pic: "../../images/9.png", height: 0 },
 { pic: "../../images/10.png", height: 0 },
 { pic: "../../images/11.png", height: 0 },
 { pic: "../../images/12.png", height: 0 },
 { pic: "../../images/13.png", height: 0 },
 { pic: "../../images/14.png", height: 0 }
 console.log("dasddasd" + images);
 let baseId = "img-" + (+new Date());
 for (let i = 0; i images.length; i++) {
 images[i].id = baseId + "-" + i;
 this.setData({
 loadingCount: images.length,
 images: images

希望本文所述对大家微信小程序设计有所帮助。


下一篇:没有了


Copyright © 广州凡科互联网科技有限公司 版权所有 粤ICP备10235580号
全国服务电话:4000-399-000   传真:021-45545458
公司地址:广州市海珠区工业大道北67号凤凰创意园