health

business

vehicles

technology

How To Add Lazy Loading Images To Blogger


Lazy Loading Images is important because it can greatly improve the load time of your Blogger Blogs especially if you are using a portfolio template.

Lazy Loading tells the browser to replace all the image tags on a website and replace them with either another image or a base 64 encoding of an image. The best part is that it reduces the number of HTTP requests but it also puts a huge dent into the total page size as the image is being replaced with a small (gif typically) that is a small fraction of the total size of the original. Then when the image is in the viewport of the browser (where you can actually see it) the browser downloads the original image.

The script is fairly simple to integrate all you need to do is go into your Blogger Template and search for </head> after you find it then paste this code right above that line.

<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:"https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjLYjayOc-tNpK-EjfRp2oLjrM4zZz2b-CsKNPFmF6Lpu2XGCjbR-057CHu2ZBoFK94KZVqjnYEGhyphenhyphenAWwuiTc2b0YeYoTT9wbEfIOga2qfqngVyrMQ4RSkGjdVmGEF03pkQi-5RJ9oRMFAP/s320/grey10.gif",effect:"fadeIn",threshold:"-50"})})//]]></script>
That's all there is to it. This should work on most Blogger Themes so long as it doesn't interfere with the script, or the image loading. I hope this helps to reduce the load time of your Blogger Blogs!

No comments: