CSS Animasi Loading Blog

Efek page loading atau efek "sedang memuat halaman" sering kita temui pada situs-situs game online. Adanya efek tersebut memudahkan pengunjung memperkirakan seberapa lama lagi laman akan terbuka sepenuhnya sehingga ia tahu berapa lama menunggu. Kali ini kita akan menerapkan efek serupa pada blog. Serupa artinya tidak sama. Apanya yang tidak sama? Pada contoh situs game online efek loading benar-benar sesuai dengan waktu muat (load) halaman sedangkan yang akan kita buat tidak demikian melainkan hanya hiasan saja. Meskipun begitu cukup lumayan mempercantik blog.

Tutorial seperti ini sudah sangat banyak, biasanya efek tersebut menggunakan gambar animasi berkestensi *.gif dan JavaScript. Jadi, prinsipnya hanyalah menampilkan gambar saat halaman dimuat dan gambar tersebut adalah animasi. Sedangkan saat muncul dan lenyapnya gambar tersebut diatur menggunakan JavaScript. Sekali lagi, tidak mengukur waktu muat laman yang sesungguhnya. Saya belum menemukan satupun blogger yang menerapkan page loading seperti yang digunakan situs game online. Semua hanya hiasan saja.

Tutorial kali ini tidak menggunakan gambar melainkan hanya CSS dan JavaScript. Letakkan CSS berikut sebelum tag ]]></b:skin> atau dalam style template blog anda.

#loading {position:fixed;opacity:0.93;top:0;left:0;background-color:#000;z-index:9999;text-align:center;width:100%;height:100%;padding-top:20%;color:#000;display:none;}
.efek {background-color: transparent;border:5px solid rgb(240 ,0 , 0);border-right:5px solid transparent;border-left:5px solid transparent;border-radius:50px;box-shadow: 0 0 35px rgb(255 ,0 , 0);width:50px;height:50px;margin:0 auto;-moz-animation:spinPulse 1s infinite ease-in-out;-webkit-animation:spinPulse 1s infinite linear;}
.efet {background-color: transparent;border:5px solid rgb(240 ,0 , 0);border-left:5px solid transparent;border-right:5px solid transparent;border-radius:50px;box-shadow: 0 0 15px rgb(255 ,0 , 0);width:30px;height:30px;margin:0 auto;position:relative;top:-50px;-moz-animation:spinoffPulse 1s infinite linear;-webkit-animation:spinoffPulse 1s infinite linear;}
@-moz-keyframes spinPulse {0% { -moz-transform:rotate(160deg); opacity:0; box-shadow:0 0 1px rgb(255, 0, 0)}50% { -moz-transform:rotate(145deg); opacity:1; }100% { -moz-transform:rotate(-320deg); opacity:0; }}
@-moz-keyframes spinoffPulse {0% { -moz-transform:rotate(0deg); } 100% { -moz-transform:rotate(360deg);  }}
@-webkit-keyframes spinPulse {0% { -webkit-transform:rotate(160deg); opacity:0; box-shadow:0 0 1px rgb(255, 0, 0)} 50% { -webkit-transform:rotate(145deg); opacity:1;} 100% { -webkit-transform:rotate(-320deg); opacity:0; }}
@-webkit-keyframes spinoffPulse {0% { -webkit-transform:rotate(0deg); } 100% { -webkit-transform:rotate(360deg); }}

Lalu letakkan HTML dan JavaScript berikut di atas tag </body>

<div id='loading'>
<div class='efek'></div>
<div class='efet'></div>
</div>
<script type='text/javascript'>
$(function() {
    var siteURL = "http://" + top.location.host.toString();
    var $internalLinks = $("a[href^='"+siteURL+"'], a[href^='/'], a[href^='./'], a[href^='../']");
    $internalLinks.click(function() {
        $('#loding').fadeIn(1500).delay(6000).fadeOut(1000);
    });

    // Hilangkan overlay jika link internal diset dengan target='_blank'
    $('#loading').click(function() {
        $(this).hide();
    });
});
</script>

Selamat belajar.

Comments

Popular posts from this blog

Cara Menggunakan :before dan :after

Perbedaan JavaScript dan jQuery Beserta Contoh

Tutorial Sevida v2.4.2 - Responsive Magazine Blogger Template