微信小程序实现图片懒加载的示例代码

本文主要介绍程序" title="微信小程序">微信小程序的模拟图片懒加载,实现的原理是通过页面预加载图片(默认图),加载完成后再显示出来原图,而非真正意义上的懒加载(跟web的懒加载还有很大的差距),只是借此提高用户体验度。

多图片懒加载

1.xml页面

<block wx:for="{{list}}" wx:key="">

<image class='relative width-100 mgb-20 fade_in' src='{{item.cover_url}}' mode='widthFix' style='display:none' bindload="_imgOnLoad" id='{{item.cover_url}}'></image>

<view class='tag-bg {{item.checked?"tag-bg1":""}}'></view>

<view class='tag-text fz-30 fwb'>{{item.type_name}}</view>

<image class='relative width-100 mgb-20 fade_in {{item.loaded?"":"loading-img"}}' src='{{item.loaded?item.cover_url:item.url}}' mode='widthFix'></image>

</block>

2.js页面

//ajax请求数据

onLoad: function () {

var that = this

var page = that.data.page

wx.request({

url: request_url,

data: {

'signature': signature,

'page':1,

'pageSize': 2

},

success: function (res) {

let list = res.data.content

for (var i = 0; i < list.length; i++) {

list[i].url = "../../img/771.gif" //用json的格式创建url,作为加载过度图片

}

that.setData({

list: list,

})

}

})

},

//监听图片加载页面

_imgOnLoad: function (e) {

// console.log(e)

var loadedUrl = e.target.id

let that = this

let list = that.data.list

for (var i = 0; i < list.length; i++) {

if (list[i].cover_url == loadedUrl) {

list[i].loaded = true

}

that.setData({

list

})

}

}

tips:上述数据加载的代码为get的方式,需要数据加密的则选择post的方式,有需要的可以留言。

以上是 微信小程序实现图片懒加载的示例代码 的全部内容, 来源链接: utcz.com/z/329234.html

回到顶部