이 글에서는 주로 WeChat 애플릿의 이미지 지연 로딩을 위한 샘플 코드를 소개합니다. 구현 원리는 페이지를 통해 이미지를 미리 로드하는 것인데, 이는 사용자 경험을 향상시키고 관심이 있는 경우 더 자세히 알아볼 수 있습니다.
이 글에서는 실제 지연 로딩이 아닌 페이지를 통해 이미지(기본 이미지)를 미리 로딩한 후 로딩이 완료된 후 원본 이미지를 표시하는 것이 구현 원리입니다. (웹의 지연 로딩과 유사) 여전히 사용자 경험을 향상시키기 위한 큰 격차가 있습니다.
여러 장의 사진 지연 로딩
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의 체크박스 선택 및 값 전달 예시
Vue2.0 상위 구성요소와 하위 구성요소 간의 디스패치 메커니즘 구현 정보(자세한 튜토리얼)
히스토리를 사용하여 반응 라우터에서 라우팅을 제어하는 방법(자세한 튜토리얼)
위 내용은 WeChat 애플릿에서 이미지 지연 로딩을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!