本篇文章主要介紹了微信小程式實現圖片懶加載的範例程式碼,實現的原理是透過頁面預先載入圖片,對使用者體驗度會有一定的提高,具有一定的參考價值,有興趣可以了解一下
本文主要介紹微信小程式的模擬圖片懶加載,實現的原理是透過頁面預加載圖片(預設圖),加載完成後再顯示出來原圖,而非真正意義上的懶加載(跟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 }) } }
上面是我整理給大家的,希望今後對大家有幫助。
相關文章:
jQuery SpringMVC中的複選框選擇與傳值實例_jquery
在react-router中如何使用history控制路由(詳細教程)
以上是在微信小程式中如何實現圖片懶加載的詳細內容。更多資訊請關注PHP中文網其他相關文章!