访问图片量较大的网站时,搜索引擎往往把所有图片都加载了,网站才算加载完毕。要是服务器空间不给力,那个等待时间是非常痛苦的。采用图片延迟加载后,用户进入网站只会加载其中的一部分,随着鼠标的滚动才加载剩余的部分,用户体验要好得多。
接下来分享一个较简单的网站图片延迟加载效果。经测试有效。
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Lazy Load 图片延迟加载</title> <!--[if lt IE 9]> <script src="html5shiv.js"></script><!--请下载到本地--> <![endif]--> </head> <body> <img class="lazy" data-original="img/pic1.jpg" width="765" height="574" alt=""> <img class="lazy" data-original="img/pic2.jpg" width="765" height="574" alt=""> <img class="lazy" data-original="img/pic3.jpg" width="765" height="574" alt=""> <img class="lazy" data-original="img/pic4.jpg" width="765" height="574" alt=""> <img class="lazy" data-original="img/pic5.jpg" width="765" height="574" alt=""> <img class="lazy" data-original="img/pic6.jpg" width="765" height="574" alt=""> <script src="jquery-1.11.0.min.js"></script><!--请下载到本地--> <script src="jquery.lazyload.js"></script><!--请下载到本地--> <script type="text/javascript" charset="utf-8"> $(function() { $("img.lazy").lazyload({effect: "fadeIn"}); }); </script> </body> </html>
所用到的页面代码及JS下载链接:https://pan.baidu.com/s/1bpCRZCN
图片延迟加载与AJAX列表排序使用注意事项
元素模板做测试的时候发现:如果同时运用AJAX异步排序加载,参考文章《DedeCMS用AJAX实现列表按更新时间,点击,评论,星级排序》,出现加载不出对应的图片。采用模板AJAX局部替换的方法实现,务必把下面代码放在对应的AJAX模板后面(比如:list_article.htm对应的list_article_ajax.htm模板的后面),请参考本站任意一个列表页面代码。
<p id="list"> <p class="listbox"> <ul class="e2"> <p class="data-list"> {dede:list pagesize="5"} <li> <a href='[field:arcurl/]'><img class="lazy" data-original='[field:litpic/]'alt="[field:title/]"/></a> [<b>[field:typelink/]</b>] <a href="[field:arcurl/]" class="title">[field:title/]</a> <span class="info"> <small>日期:</small>[field:pubdate function="GetDateTimeMK(@me)"/] <small>点击:</small>[field:click/] <small>好评:</small>[field:scores/] </span> <p class="intro">[field:description/]...</p> </li> {/dede:list} </p><!--data-list--> </ul> </p> <!-- /listbox --> </p> <script src="jquery.lazyload.js"></script>