jQuery Lazy Load Plugin

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/AVvXsEhKMEIkKD9JeIprgP7iEZV3LTk15OdsufqxyOK7RTOfc-nMnX92QUlWu0gU9N8QLmUy-msq2wmHPVhp0eXo24vEIUvdT_iPbpQMg61yNoAkjBJw3qN_HM2yrfUDNdBygUZ6iMe8p3MpJPc/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.

1 Response to "jQuery Lazy Load Plugin"

  1. cepat kaya

    ,,.,KISAH NYATA ,
    Aslamu alaikum wr wb..Allahu Akbar, Allahu akbar, Allahu akbar
    Bismillahirrahamaninrahim,,senang sekali saya bisa menulis
    dan berbagi kepada teman2 melalui room ini,
    sebelumnya dulu saya adalah seorang pengusaha dibidang property rumah tangga
    dan mencapai kesuksesan yang luar biasa, mobil rumah dan fasilitas lain sudah saya miliki,
    namun namanya cobaan saya sangat percaya kepada semua orang,
    hingga suaatu saat saya ditipu dengan teman saya sendiri dan membawa semua yang saya punya,
    akhirnya saya menaggung utang ke pelanggan saya totalnya 470 juta dan di bank totalnya 800 juta ,
    saya stress dan hamper bunuh diri anak saya 2 orng masih sekolah di smp dan sma,
    istri saya pergi entah kemana dan meninggalkan saya dan anakanaknya ditengah tagihan utang yg menumpuk,
    demi makan sehari hari saya terpaksa jual nasi bungkus keliling dan kue,
    ditengah himpitan ekonomi seperti ini saya bertemu dengan seorang teman
    dan bercerita kepadanya, Alhamdulilah beliau memberikan saran kepada saya.
    dulu katanya dia juga seperti saya stelah bergabung dengan KI KUSUMO hidupnya kembali sukses,
    awalnya saya ragu dan tidak percaya tapi selama satu minggu saya berpikir
    dan melihat langsung hasilnya, `
    saya akhirnya bergabung dan menghubungi KI KUSUMO di No :)-0'8'2-3'3'5'-9'4'7'-8'8'8-:).
    Semua petunjuk AKI saya ikuti dan hanya 3 hari Astagfirullahallazim,
    Alhamdulilah Demi AllAH dan anak saya,
    akhirnya 5M yang saya minta benar benar ada di tangan saya,
    semua utang saya lunas dan sisanya buat modal usaha,
    kini saya kembali sukses terimaksih KI KUSUMO saya tidak akan melupakan jasa AKI.
    JIKA TEMAN TEMAN BERMINAT, YAKIN DAN PERCAYA INSYA ALLAH,
    SAYA SUDAH BUKTIKAN DEMI ALLAH SILAHKAN HUB KI KUSUMO DI :)-0'8'2-3'3'5'-9'4'7'-8'8'8-:)

    ((((((((((((DANA GHAIB)))))))))))))))))

    Pesugihan Instant 5 MILYAR
    Mulai bulan ini (oktober 2015) Kami dari padepokan mengadakan program pesugihan Instant tanpa tumbal,
    serta tanpa resiko. Program ini kami khususkan bagi para pasien yang membutuhan modal usaha yang cukup besar,
    Hutang yang menumpuk (diatas 1 Milyar), Adapun ketentuan mengikuti program ini adalah sebagai berikut :

    Mempunyai Hutang diatas 1 Milyar
    Ingin membuka usaha dengan Modal diatas 1 Milyar
    dll

    Syarat :

    Usia Minimal 21 Tahun
    Berani Ritual (apabila tidak berani, maka bisa diwakilkan kami dan tim)
    Belum pernah melakukan perjanjian pesugihan ditempat lain
    Suci lahir dan batin (wanita tidak boleh mengikuti program ini pada saat datang bulan)
    Harus memiliki Kamar Kosong di rumah anda

    Proses :

    Proses ritual selama 2 hari 2 malam di dalam gua
    Harus siap mental lahir dan batin
    Sanggup Puasa 2 hari 2 malam ( ngebleng)
    Pada malam hari tidak boleh tidur

    Biaya ritual Sebesar 10 Juta dengan rincian sebagai berikut :

    Pengganti tumbal Kambing kendit : 5jt
    Ayam cemani : 2jt
    Minyak Songolangit : 2jt
    bunga, candu, kemenyan, nasi tumpeng, kain kafan dll Sebesar : 1jt

    Prosedur Daftar Ritual ini :

    Kirim Foto anda
    Kirim Data sesuai KTP

    Format : Nama, Alamat, Umur, Nama ibu Kandung, Weton (Hari Lahir), PESUGIHAN 5 MILYAR

    Kirim ke nomor ini : -0'8'2'3'3'5'9'4'7'8'8'8-
    SMS Anda akan Kami balas secepatnya

    Maaf Program ini TERBATAS hanya untuk beberapa Orang saja..

    ReplyDelete

Komentar yang menyertakan iklan, atau titip link, akan dimasukan ke Folder SPAM.

Untuk pertanyaan di luar Topik Artikel silahkan kik OOT (apabila dipertanyakan di sini, mohon maaf apabila tidak dibalas).