simple lazy Load Image
simple lazy Load Image
by Adi Jaya
HTML
<!-- jika dengan metode onclick pakai ini
<button onclick='lazyLoadImage();'>KLIK SAYA</button>
hapus js bagian window.onload = function(){...}
-->
<h2>Di tunggu sebentar bos...</h2>
<figure class='center'>
<!--penerapan buka-->
<img class='js-only' alt='demo' data-src='http://2.bp.blogspot.com/-ojA8vDdFtr4/VknTbe2wwDI/AAAAAAAABj8/qRUupuIaDuw/s640/Benih-sayuran-Balkon-bonsai-ungu-biji-terong-panjang-30-biji-pack-50-pcs-lot-RS57.jpg' src='data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='/>
<noscript>
<img alt='demo' src='http://2.bp.blogspot.com/-ojA8vDdFtr4/VknTbe2wwDI/AAAAAAAABj8/qRUupuIaDuw/s640/Benih-sayuran-Balkon-bonsai-ungu-biji-terong-panjang-30-biji-pack-50-pcs-lot-RS57.jpg'/>
</noscript>
<!--penerapan tutup-->
<figcaption>Keterangan - ini buah terong</figcaption>
</figure>
jika penggunaan ditemplate blogger kurang lebih seperti ini, menyesuaikan jenis template.
<pre>
<img class='js-only' expr:alt='data:post.title' expr:data-src='data:post.firstImageUrl' expr:title='data:post.title' src='data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='/>
<!-- backup, jika javascript gak aktif -->
<noscript>
<img expr:alt='data:post.title' expr:src='data:post.firstImageUrl' expr:title='data:post.title'/>
</noscript>
<!-- tambah css untuk element yang pake js taroh di head -->
<noscript>
<style>
.js-only {display:none;}
</style>
</noscript>
<!-- js nya taroh di atas body bagian akhir -->
<script type='text/javascript'>
//<![CDATA[
function lazyLoadImage() {
var a = document.getElementsByTagName("img");
for (var i = 0; i < a.length; i++) {
if (a[i].getAttribute('data-src')) {
a[i].setAttribute('src', a[i].getAttribute('data-src'));
a[i].removeAttribute('data-src');
...
CSS
body {
padding :10px;
font-family : "verdana", arial, san-serif;
font-size :13px;
}
.center {text-align:center;}
pre {
padding: 15px;
overflow: auto;
background: #353434;
color: #b1b1b1;
border-radius: 5px;
}
JavaScript
//facebook.com/nafis3333
function lazyLoadImage() {
var a = document.getElementsByTagName("img"); //tag name img
for (var i = 0; i < a.length; i++) { //hitung element di variabel a
if (a[i].getAttribute('data-src')) { // ambil data attr
a[i].setAttribute('src', a[i].getAttribute('data-src'));// set attr src dari data src
a[i].removeAttribute('data-src'); // hapus attr data-src
}
}
}
//menjalankannya
window.onload = function(){
setTimeout(lazyLoadImage, 5000);
//setting waktu, 4000,5000,6000 dst. bekerja setelah loading page selesai
//5000 = 5 detik, lolos gtmetrix
//dibawah 5 detik masih terbaca oleh gtmetrix
// pastikan gak bentrok waktunya dengan yang lain misal
setTimeout(abaikan, 6000); //detik keenam
}
//abaikan bagian ini
function abaikan(){
alert('tes load fungsi js yang lain detik ke enam');
}