PHP群:95885625 Hbuilder+MUI群:81989597 站长QQ:634381967
    您现在的位置: 首页 > 开发编程 > HBuilderX教程 > 正文

    HBuilder MUI 基于plus.downloader的图片懒加载功能,支持本地缓存

    作者:admin来源:网络浏览:时间:2020-09-30 00:07:50我要评论
    导读:1.页面先引入[async.js](https://github.com/caolan/async)2.本地缓存的代码使用到了[这个链接](http://www.bcty365.com/content-146-2588-...
    1.页面先引入[async.js](https://github.com/caolan/async)
    2.本地缓存的代码使用到了[这个链接](http://www.bcty365.com/content-146-2588-1.html)
      建议在懒加载前给img一个默认图片 

    1.  /** 
    2.  * 将网络图片下载到本地并显示,包括缓存 www.bcty365.com 
    3.  */ 
    4. (function(lazyimg) { 
    5.  
    6.     lazyimg.lazyLoad = function(doc, cb) { 
    7.  
    8.         lazyLoad(doc ? doc : document); 
    9.     } 
    10.     var lazyLoad = function(doc, cb) { 
    11.         var imgs = doc.querySelectorAll('img.lazy'); 
    12.         async.each(imgs, function(img, cb1) { 
    13.             var data_src = img.getAttribute('data-src'); 
    14.             if (data_src && data_src.indexOf('http://') >= 0) { 
    15.                 common.cache.getFile(data_src, function(localUrl) { 
    16.                     setPath(img, localUrl); 
    17.                 }); 
    18.             } 
    19.         }, function() { 
    20.             cb && cb(); 
    21.         }); 
    22.  
    23.     } 
    24.  
    25.     function setPath(img, src) { 
    26.         img.setAttribute('src', src); 
    27.         img.classList.remove("lazy"); 
    28.     } 
    29. }(window.Lazyimg = {})); 
    30.  
    31. 使用 
    32.  
    33. var getImgs=function(cb){ 
    34.     var imgs=document.querySelectorAll("img"); 
    35.     imgs=mui.slice.call(imgs); 
    36.     imgs.forEach(function(item, index, array) { 
    37.         item.setAttribute("data-src""远程链接"
    38.     }); 
    39.     cb&&cb(); 
    40. getImgs(function(){ 
    41.     Lazyimg.lazyLoad(); 
    42. }); 

     

    转载请注明(B5教程网)原文链接:https://b5.mxunkeji.com/content-146-2589-1.html
    相关热词搜索: