1

我正在尝试在博客博客上实现延迟加载,但遇到了一些问题。有问题的延迟加载插件是这个: http: //www.appelsiini.net/projects/lazyload

所以在文档中,它说要延迟加载的图像应该是以下 html 代码格式:

<img class="lazy" src="img/grey.gif" data-original="img/example.jpg"  width="640" heigh="480">

与博客文章的情况一样,博客引擎以以下格式输出图像:

<img class="lazy" src="img/myimage.png" width="640" heigh="480">

我的问题是,是否可以让博主以第一种格式输出图像 html,将“grey.gif”空格符作为所有图像的默认图像 src,并且“data-original”属性具有正确的图像 URL,以便懒加载器真的有效吗?

在此先感谢您的帮助:-)

4

3 回答 3

2

您可以切换到 HTML 视图,然后根据延迟加载脚本的要求修改每个 img 标签。

于 2012-05-06T05:56:54.323 回答
-1

你可以loading='lazy'在js函数中使用。

于 2021-05-15T15:03:36.490 回答
-2

您不需要执行所有这些操作,您可以使用以下专门为博主博客创建的延迟加载脚本

<script type='text/javascript'>//<![CDATA[ (function(a){a.fn.lazyload=function(b){var c={threshold:0,failurelimit:0,event:"scroll",effect:"show",container:window};if(b){a.extend(c,b)}var d=this;if("scroll"==c.event){a(c.container).bind("scroll",function(b){var e=0;d.each(function(){if(a.abovethetop(this,c)||a.leftofbegin(this,c)){}else if(!a.belowthefold(this,c)&&!a.rightoffold(this,c)){a(this).trigger("appear")}else{if(e++>c.failurelimit){return false}}});var f=a.grep(d,function(a){return!a.loaded});d=a(f)})}this.each(function(){var b=this;if(undefined==a(b).attr("original")){a(b).attr("original",a(b).attr("src"))}if("scroll"!=c.event||undefined==a(b).attr("src")||c.placeholder==a(b).attr("src")||a.abovethetop(b,c)||a.leftofbegin(b,c)||a.belowthefold(b,c)||a.rightoffold(b,c)){if(c.placeholder){a(b).attr("src",c.placeholder)}else{a(b).removeAttr("src")}b.loaded=false}else{b.loaded=true}a(b).one("appear",function(){if(!this.loaded){a("<img />").bind("load",function(){a(b).hide().attr("src",a(b).attr("original"))[c.effect](c.effectspeed);b.loaded=true}).attr("src",a(b).attr("original"))}});if("scroll"!=c.event){a(b).bind(c.event,function(c){if(!b.loaded){a(b).trigger("appear")}})}});a(c.container).trigger(c.event);return this};a.belowthefold=function(b,c){if(c.container===undefined||c.container===window){var d=a(window).height()+a(window).scrollTop()}else{var d=a(c.container).offset().top+a(c.container).height()}return d<=a(b).offset().top-c.threshold};a.rightoffold=function(b,c){if(c.container===undefined||c.container===window){var d=a(window).width()+a(window).scrollLeft()}else{var d=a(c.container).offset().left+a(c.container).width()}return d<=a(b).offset().left-c.threshold};a.abovethetop=function(b,c){if(c.container===undefined||c.container===window){var d=a(window).scrollTop()}else{var d=a(c.container).offset().top}return d>=a(b).offset().top+c.threshold+a(b).height()};a.leftofbegin=function(b,c){if(c.container===undefined||c.container===window){var d=a(window).scrollLeft()}else{var d=a(c.container).offset().left}return d>=a(b).offset().left+c.threshold+a(b).width()};a.extend(a.expr[":"],{"below-the-fold":"$.belowthefold(a, {threshold : 0, container: window})","above-the-fold":"!$.belowthefold(a, {threshold : 0, container: window})","right-of-fold":"$.rightoffold(a, {threshold : 0, container: window})","left-of-fold":"!$.rightoffold(a, {threshold : 0, container: window})"})})(jQuery);$(function(){$("img").lazyload({placeholder:"http://i22.servimg.com/u/f22/15/42/72/40/grey10.gif",effect:"fadeIn",threshold:"-50"})})//]]></script>

您可以将http://i22.servimg.com/u/f22/15/42/72/40/grey10.gif替换为其他图像链接作为占位符。

源码链接:http: //101helper.blogspot.com/2014/08/how-to-speed-up-your-blogger-blog.html

于 2015-09-17T16:38:00.107 回答