Jquery Lazy Load Plugin Untuk Mempercepat Blog

Jquery Lazy Load Plugin Untuk Mempercepat Blog

CaraBaru.Info â€" Postingan Kali ini Kami Akan Memberikan Informasi Terbaru Khusus Buat Sobat semua yakninya tentang Jquery Lazy Load Plugin Untuk Mempercepat Blog Terbaru Hari ini, yah tentunya semoga bisa Bermanfaat ya Buat Sobat Semua. dan Selengkapnya Mari Kita Lihat dibawah ini

Ada banyak faktor kenapa lalu lintas blog kehilangan pengunjung, salah satunya adalah kecepatan loading blog yang memerlukan waktu lama. Hal seperti ini benar-benar akan berdampak buruk buat blog Anda, jadi penting buat Anda untuk memperhatikan beban dari template blog Anda. Salah satu yang membuat blog kita loading lebih lama karena gambar atau photo, lantas apa kita tidak harus menggunakan gambar untuk blog kita? Tentu saja tidak, seharusnya kita harus mengambil suatu langkah tertentu sehingga beban dari blog kita berkurang dan tampil lebih cepat.

Nah, pada posting ini saya akan berbagi satu tips untuk mempercepat loading blog Anda dengan menggunanakan Plugin jQuery Lazy Image Load. Cara kerja plugin ini adalah memperlambat atau menunda loading gambar di blog Anda. Gambar yang muncul hanya pada halaman yang terlihat dan gambar yang lain akan terlihat saat kita mengscroll halaman blog ke bawah. Dengan begitu loading blog akan lebih cepat dan dalam beberapa kasus tertentu dapat membantu mengurangi beban server. Untuk lebih jelasnya silahkan kunjungi Appelsiini

Cara Pemasangan Jquery Lazy Load Plugin

  • Login ke Blogger Anda
  • Klik Temlate dan pilih Edit HTML
  • Cari tag </head>   gunakan Ctrl+F untuk mencari
  • Selanjutnya salin javascript dibawah ini tepat sebelum tag </head>   :

  1. <script type='text/javascript'>

  2. //<![CDATA[

  3.  /*

  4. * Lazy Load - jQuery plugin for lazy loading images

  5. * Copyright (c) 2007-2012 Mika Tuupola

  6. * Licensed under the MIT license : http://www.opensource.org/licenses/mit-license.php

  7. * Project home : http://www.appelsiini.net/projects/lazyload

  8. * Version: 1.8.3

  9. */

  10.  (function($, window, document, undefined) {

  11. var $window = $(window);

  12.   $.fn.lazyload = function(options) {

  13. var elements = this;

  14. var $container;

  15. var settings = {

  16. threshold : 0,

  17. failure_limit : 0,

  18. event : "scroll",

  19. effect : "show",

  20. container : window,

  21. data_attribute : "original",

  22. skip_invisible : true,

  23. appear : null,

  24. load : null

  25. };

  26.   function update() {

  27. var counter = 0;

  28. elements.each(function() {

  29. var $this = $(this);

  30. if (settings.skip_invisible && !$this.is(":visible")) {

  31. return;

  32. }

  33. if ($.abovethetop(this, settings) ||

  34. $.leftofbegin(this, settings)) {

  35. /* Nothing. */

  36. } else if (!$.belowthefold(this, settings) &&

  37. !$.rightoffold(this, settings)) {

  38. $this.trigger("appear");

  39. /* if we found an image we'll load, reset the counter */

  40. counter = 0;

  41. } else {

  42. if (++counter > settings.failure_limit) {

  43. return false;

  44. }

  45. }

  46. });

  47.   }

  48.   if(options) {

  49. /* Maintain BC for a couple of versions. */

  50. if (undefined !== options.failurelimit) {

  51. options.failure_limit = options.failurelimit;

  52. delete options.failurelimit;

  53. }

  54. if (undefined !== options.effectspeed) {

  55. options.effect_speed = options.effectspeed;

  56. delete options.effectspeed;

  57. }

  58. $.extend(settings, options);

  59. }

  60.   /* Cache container as jQuery as object. */

  61. $container = (settings.container === undefined ||

  62. settings.container === window) ? $window : $(settings.container);

  63.  

  64. /* Fire one scroll event per scroll. Not one scroll event per image. */

  65. if (0 === settings.event.indexOf("scroll")) {

  66. $container.bind(settings.event, function(event) {

  67. return update();

  68. });

  69. }

  70.   this.each(function() {

  71. var self = this;

  72. var $self = $(self);

  73.   self.loaded = false;

  74.   /* When appear is triggered load original image. */

  75. $self.one("appear", function() {

  76. if (!this.loaded) {

  77. if (settings.appear) {

  78. var elements_left = elements.length;

  79. settings.appear.call(self, elements_left, settings);

  80. }

  81. $("<img/>")

  82. .bind("load", function() {

  83. $self

  84. .hide()

  85. .attr("src", $self.data(settings.data_attribute))

  86. [settings.effect](settings.effect_speed);

  87. self.loaded = true;

  88.   /* Remove image from array so it is not looped next time. */

  89. var temp = $.grep(elements, function(element) {

  90. return !element.loaded;

  91. });

  92. elements = $(temp);

  93.   if (settings.load) {

  94. var elements_left = elements.length;

  95. settings.load.call(self, elements_left, settings);

  96. }

  97. })

  98. .attr("src", $self.data(settings.data_attribute));

  99. }

  100. });

  101.   /* When wanted event is triggered load original image */

  102. /* by triggering appear. */

  103. if (0 !== settings.event.indexOf("scroll")) {

  104. $self.bind(settings.event, function(event) {

  105. if (!self.loaded) {

  106. $self.trigger("appear");

  107. }

  108. });

  109. }

  110. });

  111.   /* Check if something appears when window is resized. */

  112. $window.bind("resize", function(event) {

  113. update();

  114. });

  115. /* With IOS5 force loading images when navigating with back button. */

  116. /* Non optimal workaround. */

  117. if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {

  118. $window.bind("pageshow", function(event) {

  119. if (event.originalEvent.persisted) {

  120. elements.each(function() {

  121. $(this).trigger("appear");

  122. });

  123. }

  124. });

  125. }

  126.   /* Force initial check if images should appear. */

  127. $(window).load(function() {

  128. update();

  129. });

  130. return this;

  131. };

  132.   /* Convenience methods in jQuery namespace. */

  133. /* Use as $.belowthefold(element, {threshold : 100, container : window}) */

  134.   $.belowthefold = function(element, settings) {

  135. var fold;

  136. if (settings.container === undefined || settings.container === window) {

  137. fold = $window.height() + $window.scrollTop();

  138. } else {

  139. fold = $(settings.container).offset().top + $(settings.container).height();

  140. }

  141.   return fold <= $(element).offset().top - settings.threshold;

  142. };

  143. $.rightoffold = function(element, settings) {

  144. var fold;

  145.   if (settings.container === undefined || settings.container === window) {

  146. fold = $window.width() + $window.scrollLeft();

  147. } else {

  148. fold = $(settings.container).offset().left + $(settings.container).width();

  149. }

  150.   return fold <= $(element).offset().left - settings.threshold;

  151. };

  152. $.abovethetop = function(element, settings) {

  153. var fold;

  154. if (settings.container === undefined || settings.container === window) {

  155. fold = $window.scrollTop();

  156. } else {

  157. fold = $(settings.container).offset().top;

  158. }

  159.   return fold >= $(element).offset().top + settings.threshold + $(element).height();

  160. };

  161. $.leftofbegin = function(element, settings) {

  162. var fold;

  163. if (settings.container === undefined || settings.container === window) {

  164. fold = $window.scrollLeft();

  165. } else {

  166. fold = $(settings.container).offset().left;

  167. }

  168.   return fold >= $(element).offset().left + settings.threshold + $(element).width();

  169. };

  170.  

  171. $.inviewport = function(element, settings) {

  172. return !$.rightoffold(element, settings) && !$.leftofbegin(element, settings) &&

  173. !$.belowthefold(element, settings) && !$.abovethetop(element, settings);

  174. };

  175.  

  176. /* Custom selectors for your convenience. */

  177. /* Use as $("img:below-the-fold").something() or */

  178. /* $("img").filter(":below-the-fold").something() which is faster */

  179.  

  180. $.extend($.expr[':'], {

  181. "below-the-fold" : function(a) { return $.belowthefold(a, {threshold : 0}); },

  182. "above-the-top" : function(a) { return !$.belowthefold(a, {threshold : 0}); },

  183. "right-of-screen": function(a) { return $.rightoffold(a, {threshold : 0}); },

  184. "left-of-screen" : function(a) { return !$.rightoffold(a, {threshold : 0}); },

  185. "in-viewport" : function(a) { return $.inviewport(a, {threshold : 0}); },

  186. /* Maintain BC for couple of versions. */

  187. "above-the-fold" : function(a) { return !$.belowthefold(a, {threshold : 0}); },

  188. "right-of-fold" : function(a) { return $.rightoffold(a, {threshold : 0}); },

  189. "left-of-fold" : function(a) { return !$.rightoffold(a, {threshold : 0}); }

  190. });

  191.  

  192. //]]>

  193. </script>

  194.  

  195. <script charset="utf-8" type="text/javascript">

  196. $(function() {

  197.  

  198. $("img").lazyload({placeholder : "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj48YTmqethvDMgnp7-z4DNuInc-Jxm0Sirfexo9GBTNvdjeji2Aur3u-uNxZvLbk5T7NPPOea4SGKw2g_h_0LkLXPH6TNeEXW3jrTlrt26caCKjrX_gn0SBgS-H7n5lDeQBOU9V76SjrU/s1600/grey.gif",threshold : 200});

  199.  

  200. });

  201. </script>




  • Terakhir Tinggal Simpan


Dengan menyelesaikan langkah diatas Anda telah berhasil menginstall lazy image load diblog Anda.



http://the-anarchyta.blogspot.com/2014/02/mempercepat-loading-blogger-jquery-lazy.html

Sumber : http://ridwan-hex.blogspot.com/2014/02/jquery-lazy-load-plugin-untuk.html

Subscribe to receive free email updates:

Related Posts :

0 Response to "Jquery Lazy Load Plugin Untuk Mempercepat Blog"

Posting Komentar