Artikel Copas 100%

Berbagi seadaanya.

Select Menu
  • Home
  • Blogging
    • Tutorial Blogspot
    • CSS
    • jQuery
    • Widget
  • Tools
    • Font Awesome
    • HTML Editor
    • HTML Encrypter
    • Code Color
    • Responsive Cek
  • Sitemap
  • Static Page
  • Error Page
Home » Blogging » jQuery » jQuery Lazy Load Plugin

Selasa, 18 Februari 2014

jQuery Lazy Load Plugin

Add Comment
Blogging, jQuery
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 Install

  • 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> :

<script charset="utf-8" type="text/javascript">
/*
* Lazy Load - jQuery plugin for lazy loading images
* Copyright (c) 2007-2012 Mika Tuupola
* Licensed under the MIT license : http://www.opensource.org/licenses/mit-license.php
* Project home : http://www.appelsiini.net/projects/lazyload
* Version: 1.8.3
*/

(function ($, window, document, undefined) {
var $window = $(window);

$.fn.lazyload = function (options) {
var elements = this;
var $container;
var settings = {
threshold: 0,
failure_limit: 0,
event: "scroll",
effect: "show",
container: window,
data_attribute: "original",
skip_invisible: true,
appear: null,
load: null
};

function update() {
var counter = 0;
elements.each(function () {
var $this = $(this);
if (settings.skip_invisible & amp; & amp; !$this.is(":visible")) {
return;
}
if ($.abovethetop(this, settings) ||
$.leftofbegin(this, settings)) {
/* Nothing. */
}
else if (!$.belowthefold(this, settings) & amp; & amp; !$.rightoffold(this, settings)) {
$this.trigger("appear");
/* if we found an image we'll load, reset the counter */
counter = 0;
}
else {
if (++counter & gt; settings.failure_limit) {
return false;
}
}
});

}

if (options) {
/* Maintain BC for a couple of versions. */
if (undefined !== options.failurelimit) {
options.failure_limit = options.failurelimit;
delete options.failurelimit;
}
if (undefined !== options.effectspeed) {
options.effect_speed = options.effectspeed;
delete options.effectspeed;
}

$.extend(settings, options);
}

/* Cache container as jQuery as object. */
$container = (settings.container === undefined ||
settings.container === window) ? $window : $(settings.container);

/* Fire one scroll event per scroll. Not one scroll event per image. */
if (0 === settings.event.indexOf("scroll")) {
$container.bind(settings.event, function (event) {
return update();
});
}

this.each(function () {
var self = this;
var $self = $(self);

self.loaded = false;

/* When appear is triggered load original image. */
$self.one("appear", function () {
if (!this.loaded) {
if (settings.appear) {
var elements_left = elements.length;
settings.appear.call(self, elements_left, settings);
}
$("&lt;img/&gt;")
.bind("load", function () {
$self
.hide()
.attr("src", $self.data(settings.data_attribute))[settings.effect](settings.effect_speed);
self.loaded = true;

/* Remove image from array so it is not looped next time. */
var temp = $.grep(elements, function (element) {
return !element.loaded;
});
elements = $(temp);

if (settings.load) {
var elements_left = elements.length;
settings.load.call(self, elements_left, settings);
}
})
.attr("src", $self.data(settings.data_attribute));
}
});

/* When wanted event is triggered load original image */
/* by triggering appear. */
if (0 !== settings.event.indexOf("scroll")) {
$self.bind(settings.event, function (event) {
if (!self.loaded) {
$self.trigger("appear");
}
});
}
});

/* Check if something appears when window is resized. */
$window.bind("resize", function (event) {
update();
});
/* With IOS5 force loading images when navigating with back button. */
/* Non optimal workaround. */
if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {
$window.bind("pageshow", function (event) {
if (event.originalEvent.persisted) {
elements.each(function () {
$(this).trigger("appear");
});
}
});
}

/* Force initial check if images should appear. */
$(window).load(function () {
update();
});
return this;
};

/* Convenience methods in jQuery namespace. */
/* Use as $.belowthefold(element, {threshold : 100, container : window}) */

$.belowthefold = function (element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = $window.height() + $window.scrollTop();
}
else {
fold = $(settings.container).offset().top + $(settings.container).height();
}

return fold & lt; = $(element).offset().top - settings.threshold;
};
$.rightoffold = function (element, settings) {
var fold;

if (settings.container === undefined || settings.container === window) {
fold = $window.width() + $window.scrollLeft();
}
else {
fold = $(settings.container).offset().left + $(settings.container).width();
}

return fold & lt; = $(element).offset().left - settings.threshold;
};
$.abovethetop = function (element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = $window.scrollTop();
}
else {
fold = $(settings.container).offset().top;
}

return fold & gt; = $(element).offset().top + settings.threshold + $(element).height();
};
$.leftofbegin = function (element, settings) {
var fold;
if (settings.container === undefined || settings.container === window) {
fold = $window.scrollLeft();
}
else {
fold = $(settings.container).offset().left;
}

return fold & gt; = $(element).offset().left + settings.threshold + $(element).width();
};

$.inviewport = function (element, settings) {
return !$.rightoffold(element, settings) & amp; & amp;
!$.leftofbegin(element, settings) & amp; & amp;
!$.belowthefold(element, settings) & amp; & amp;
!$.abovethetop(element, settings);
};

/* Custom selectors for your convenience. */
/* Use as $("img:below-the-fold").something() or */
/* $("img").filter(":below-the-fold").something() which is faster */

$.extend($.expr[':'], {
"below-the-fold": function (a) {
return $.belowthefold(a, {
threshold: 0
});
},
"above-the-top": function (a) {
return !$.belowthefold(a, {
threshold: 0
});
},
"right-of-screen": function (a) {
return $.rightoffold(a, {
threshold: 0
});
},
"left-of-screen": function (a) {
return !$.rightoffold(a, {
threshold: 0
});
},
"in-viewport": function (a) {
return $.inviewport(a, {
threshold: 0
});
},
/* Maintain BC for couple of versions. */
"above-the-fold": function (a) {
return !$.belowthefold(a, {
threshold: 0
});
},
"right-of-fold": function (a) {
return $.rightoffold(a, {
threshold: 0
});
},
"left-of-fold": function (a) {
return !$.rightoffold(a, {
threshold: 0
});
}
});

//]]&gt;
</script>

<script charset="utf-8" type="text/javascript">
$(function () {

$("img").lazyload({
placeholder: "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_XCiPZVrb40fFe7fdvfb4_0I4h1ImgUEnnVQytYVand53vXkdqMlDFh45iQgHffDXc7MFLX3BT42JIxQLWFBIzi54wbZB6X8_x3vD1_BMF2Nc069HwZXozdqHePl3T_OBmf37C2tSIeY/s1600/grey.gif",
threshold: 200
});

});
</script>
  • Langkah terakhir klik Simpan template - selesai !
Dengan menyelesaikan langkah diatas Anda telah berhasil menginstall lazy image load diblog Anda. Akhir kata semoga tips yang mudah ini bermanfaat buat Anda dan jangan lupa untuk memberi 1+, like atau share posting ini.
Suka Artikel? Bagikan: Facebook Twitter Google+
0 Komentar untuk "jQuery Lazy Load Plugin"

Posting Lebih Baru Posting Lama Beranda
Langganan: Posting Komentar (Atom)

Popular Week

  • EDU Backlink
    EDU Backlink
    Backlink .EDU sekarang ini masih menjadi incaran bagi para blogger untuk menaikkan ranking situs/blog mereka, tapi kadang-kadang kita meras...
  • Bosan Dengan Dunia Blogger..
    Bosan Dengan Dunia Blogger..
    Selamat pagi sobat semua.. Mungkin anda sudah merasakan suatu kejenuhan yang anda alami saat ini dengan blog anda mungkin pertama anda membu...
  • Opini Tentang Blog Ini
    Opini Tentang Blog Ini
    Sejauh ini saya sudah merasa bersalah dengan apa yang saya share.  Beberapa hal gak penting terkadang juga saya share sampai sampai sobat bi...
  • Optimasi Posting Blog
    Optimasi Posting Blog
    Yang namanya sebuah blog, tentu tidak terlepas dari posting. Posting dalam blogger merupakan sebuah "entry" yang ditulis dengan me...
  • About This Tattoo
    About This Tattoo
    Apa itu Tattoo? Dalam Bahasa Indonesia disebut dengan istilah "Rajah". Tattoo merupakan produk dari Body Decorating dengan mengga...
  • Free Download Smadav 9.3 Pro Full Version + Serial Number
    Free Download Smadav 9.3 Pro Full Version + Serial Number
    Semenjak Blogger saya di hapus saya jarang update di Faceblog jadi ketinggalan software yang sudah update deh, tapi gak apa apa daripada g...
  • Menampilkan Pesan Pada Jam Tertentu
    Menampilkan Pesan Pada Jam Tertentu
    Pernah terpikirkan untuk menampilkan pesan pada jam tertentu (Time Message) pada blog kita? tentu saja ya, Ada kalanya ketika sedang tidak o...
  • Scattered Polaroids Gallery (Tersebar)
    Scattered Polaroids Gallery (Tersebar)
    Sebuah flat bergaya Polaroid Galeri di mana item-item (di sini saya gunakan foto) yang tersebar secara acak dalam sebuah wadah (Container). ...
  • 7 Apps Android Untuk Pengguna Blogger
    7 Apps Android Untuk Pengguna Blogger
    Dibawah ini adalah 7 AplikasiAdroid yang populer dan banyak digunakan oleh pengguna Blogger. Dan sebagai seorang pengguna blogger tidak ada ...
  • Banned Spammer di Komentar Blog
    Banned Spammer di Komentar Blog
    Beberapa teman saya bertanya bagaimana cara menghentikan spammer di Blog.. Artikel ini saya dapat dari master tuts tahun lalu, javascript in...
Diberdayakan oleh Blogger.

Labels

  • Android
  • Blogging
  • CSS
  • Facebook
  • Game
  • jQuery
  • Komputer
  • Lain-Lain
  • Photoshop
  • SEO
  • Software
  • Template
  • Twitter
  • Widget

Blog Archive

  • ▼  2014 (101)
    • ►  Juli (5)
    • ►  Juni (10)
    • ►  Mei (12)
    • ►  April (12)
    • ►  Maret (11)
    • ▼  Februari (14)
      • Cara Agar Postingan Cepat Terindex Google
      • Flow Anarchyta Responsive Blogger Template Valid H...
      • Auto Read More Thumbnail Tanpa Javascript
      • jQuery Lazy Load Plugin
      • Loading Page Blogger (Sederhana)
      • Lorde Dark Blogger Template (Premium)
      • Awas ! Bahaya Facebook
      • Belastic Responsive Blogger Template
      • Scattered Polaroids Gallery (Tersebar)
      • Fullscreen Overlay Effects
      • Scrollbar Visibility with jScrollPane
      • Modern Block Quote Styles
      • Fullscreen Layout with Page Transitions
      • Cool Tag Pre
    • ►  Januari (37)
  • ►  2013 (71)
    • ►  Desember (13)
    • ►  November (6)
    • ►  Agustus (1)
    • ►  Juni (8)
    • ►  Mei (33)
    • ►  April (10)

Labels

  • Android
  • Blogging
  • CSS
  • Facebook
  • Game
  • jQuery
  • Komputer
  • Lain-Lain
  • Photoshop
  • SEO
  • Software
  • Template
  • Twitter
  • Widget

Labels

  • Android
  • Blogging
  • CSS
  • Facebook
  • Game
  • jQuery
  • Komputer
  • Lain-Lain
  • Photoshop
  • SEO
  • Software
  • Template
  • Twitter
  • Widget

About Me

Unknown
Lihat profil lengkapku or visit on Blog Dian Anarchyta

© 2025 Artikel Copas 100% powered by Blogger.com.
All Right Reserved.