织梦首页列表页文章内容页如何实现图片延迟加载

2020年3月13日10:33:50 评论 500 次浏览

图片延迟加载可以大大节省带宽,毕竟很多人打开网页之后,可能只看第一屏就关掉了,如果网页中图片比较多,还是把图片都加载完,就会白白浪费带宽了。

先分享一个加载图片吧
织梦首页列表页文章内容页如何实现图片延迟加载

直接说方法,首页,列表页的方法很简单,主要是内容页,如果修改img标签的问题。

内容页添加图片延迟加载

1.下载两个必要js文件

https://pan.baidu.com/s/13rl1KM_RbXVj-v714NsqaA 密码:85en

2.文章内容页模版引用jquery和jquery.lazyload.js

<script data-original="jquery-1.11.0.min.js"></script>
<script  type="text/javascript" src="jquery.lazyload.js"></script>

js出始化lazyload并设置图片显示方式

<script type="text/javascript" charset="utf-8">
  $(function() {
      $("img.lazy").lazyload({effect: "fadeIn"});
  });
</script>

在图片中也可以不使用 class="lazy",初始化时使用:这样就可以对全局的图片都有效!

$("img").lazyload({effect: "fadeIn"});

参数说明

$("img.lazy").lazyload({
  placeholder : "img/grey.gif", //用图片提前占位
    // placeholder,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏
  effect: "fadeIn", // 载入使用何种效果
    // effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn
  threshold: 200, // 提前开始加载
    // threshold,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉
  event: 'click',  // 事件触发时才加载
    // event,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载,后两个值未测试…
  container: $("#container"),  // 对某容器中的图片实现效果
    // container,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片
  failurelimit : 10 // 图片排序混乱时
     // failurelimit,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题.
});

文章内容body图片标签,加上class="lazy",替换src为data-original

这边会用到一个PHP函数str_replace

str_replace(find,replace,string,count)

find 必需,规定要查找的值。
replace 必需,规定替换 find 中的值的值。
string 必需,规定被搜索的字符串。

为图片加入样式lazy 图片路径引用方法用data-original,这边就说一个不用修改系统文件的方法

直接把文章内容页调用内容的标签

{dede:field.body /}

替换成

{dede:field.body function="str_replace('src=','class=lazy data-original=',@me)"/}

首页,列表页修改方法

第一步第二步跟上面一样,都是在模板引入js,添加调用代码

把所有的图片调用列表img代码替换

<img  src="[field:litpic/]"   alt="[field:fulltitle/]" />

改为

<img  data-original="[field:litpic/]"  class="lazy" alt="[field:fulltitle/]" />
继续阅读
weinxin
加我微信
微信扫一扫,加我微信好友,共同交流,共同进步! (备注:焦国强博客)
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: