微信小程序?qū)崿F(xiàn)圖片懶加載的示例代碼
本文主要介紹微信小程序的模擬圖片懶加載,實現(xiàn)的原理是通過頁面預(yù)加載圖片(默認(rèn)圖),加載完成后再顯示出來原圖,而非真正意義上的懶加載(跟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請求數(shù)據(jù)
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的格式創(chuàng)建url,作為加載過度圖片
}
that.setData({
list: list,
})
}
})
},
//監(jiān)聽圖片加載頁面
_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:上述數(shù)據(jù)加載的代碼為get的方式,需要數(shù)據(jù)加密的則選擇post的方式,有需要的可以留言。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
elementUI 設(shè)置input的只讀或禁用的方法
這篇文章主要介紹了elementUI 設(shè)置input的只讀或禁用的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-10-10
javascript省市區(qū)三級聯(lián)動下拉框菜單實例演示
這篇文章主要為大家詳細(xì)介紹了javascript實現(xiàn)省市區(qū)三級聯(lián)動下拉框菜單很詳細(xì)的代碼,解決了大家實現(xiàn)javascript省市區(qū)三級聯(lián)動下拉框菜單的問題,感興趣的小伙伴們可以參考一下2015-11-11
Function.prototype.call.apply結(jié)合用法分析示例
昨天在網(wǎng)上看到一個很有意思的js面試題:var a = Function.prototype.call.apply(function(a){return a;}, [0,4,3]);alert(a); 分析步驟如下,感興趣的朋友可以參考下哈2013-07-07

