2012-05-06 133 views
1

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

所以在文档中,它说,这些图像是延迟加载要把下面的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” spaceholder默认所有图像的图像src和th e“data-original”属性具有适当的图像URL,以便lazyloader实际工作?

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

回答

1

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

+0

这将是一个有点不切实际的2000+的图像,不是吗?我正在寻找一些脚本解决这个问题。无论如何感谢您的建议:-) – Hirvesh

+0

你,你是对的。 。但是,由于HTML内容生成器是博主,因此无法拦截它。 我需要wordpress中的相同功能。所以,在wordpress中,我为这些图片创建了一个简码。 无论如何,对于博主,你可以使用搜索和替换来替换。 如果它生成,您可以搜索[ rax

+0

感谢您的所有帮助:-) – Hirvesh

-1

你并不需要做的这一切,你可以使用专门为Blogger博客创建的下面延迟加载脚本

<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