fxx
fxx
侠客
侠客
  • 最后登录2020-11-27
  • 发帖数20
阅读:8246回复:1

ueditor(富文本框)生成HTML,对里面img进行滑动加载步骤

楼主#
更多 发布于:2018-10-11 10:25
1.首先把阻止img图片加载,我用的方法是把img标签里面的src利用正则替换为data-src。
this.detaildata.content = data.data.content.replace(/src/g,'data-src');
2.封装函数判断是否出现在可视窗口(getBoundingClientRect用于获得页面中某个元素的左,上,右和下分别相对浏览器视窗的位置。)
ImgisShow(img){
          let imgposition = img.getBoundingClientRect();
          return imgposition.top <= (document.documentElement.clientHeight || window.innerHeight);
        }
3.判断图片是否加载 未加载则执行加载(updated()是对图片做的某些限制,解决了在图片加载出来之前函数执行问题,避免了对图片做的样式失效问题。)
loadImg(){
           let imgList = document.getElementById('detailcontent').getElementsByTagName('img');
           for(let i = 0;i< imgList.length;i++) {
             if(this.ImgisShow(imgList[i])) {
               if (imgList[i].getAttribute('data-src')) {
                 imgList[i].src = imgList[i].getAttribute('data-src');
                 imgList[i].classList.remove("data-src");
                 this.updated();
               }
             }
           }
         }

最新喜欢:

阿尔卑斯丶阿尔卑斯丶
doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
沙发#
发布于:2018-10-11 11:12
哈哈,这个功能不错哦
知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号