小程序图片懒加载放在服务器,小程序图片懒加载较完美解决方案

无需考虑数据结构,效果如图

7eb3efccff262805c8e6472f0f880bf7.png

话不多说,先上代码

1.wxml

//listindex大于item.index时,图片显示

2.wxss

page {

background: #fff;

}

.pic-list {

width: 100vw;

background: #efeff4;

margin: 3vw 0;

}

.pic {

width: 100%;

display: block;

opacity: 0;

transition: opacity 0.3s linear 0.3s;

}

.action {

opacity: 1;

}

action添加一个简单的渐显动画

3.js

onshow: function () {

//获取屏幕尺寸

const screenwidth = wx.getsysteminfosync().windowwidth

const screenheight = wx.getsysteminfosync().windowheight

this.setdata({

//获取页面初始状态图片数量,0.63为图片容器的高度值(63vw),将代码中0.63改为你的容器对应高度

listindex: screenheight / (screenwidth * 0.63),

screenwidth: screenwidth,

screenheight: screenheight

})

},

// 滚动事件

onpagescroll(e) {

//滚动距离+屏幕高度换算vw倍数

let listindex = (e.scrolltop + this.data.screenheight) / (this.data.screenwidth * 0.63)

this.setdata({

listindex: listindex

})

}

原理:通过onpagescroll() 方法返回的e.scrolltop值与手机窗口宽高进行计算,较完美的解决了等高或均高图片序列的图片懒加载。

关于图片高度:图片+容器宽高必须为vw取值,自适应的请用图片宽高比计算高度的vw值,替换js代码中的0.63

作者:zzppff

github链接:https://github.com/zzppff/zzppff-miniprogram

原创方法,商业转载请联系作者获得授权,非商业转载请注明出处。

---------------------

原文:https://blog.csdn.net/perfly_z/article/details/86611461

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值