Saturday, June 21, 2014

Navigasi Halaman dengan Keyboard

Sisipkan kode ini di atas </head> atau di atas </body> pada editor templat Anda, lalu simpan perubahan:

<script>
//<![CDATA[
(function(win, doc) {

    var pager = false;

    // left = 37, right = 39
    doc.onkeydown = function(e) {
        switch (e.keyCode) {
            case 37: pager = doc.getElementById('blog-pager-newer-link'); break;
            case 39: pager = doc.getElementById('blog-pager-older-link'); break;
        }
        if (pager) {
            win.location.href = pager.children[0].href;
            return false;
        }
    };

})(window, document);
//]]>
</script>

Sekarang Anda akan bisa melakukan navigasi menggunakan tombol panah kanan atau kiri pada keyboard. Ini cuma berlaku untuk markup HTML navigasi halaman Blogger yang masih standar. Untuk navigasi halaman yang sudah mengalami perubahan mungkin akan memerlukan sedikit modifikasi, terutama pada bagian nilai variabel pager di dalam kondisional switch.

Menambahkan Efek Aktif (Seperti Tertekan)

Dengan cara menambahkan kelas active pada navigasi halaman ketika tombol panah kanan dan/atau kiri ditekan, maka kita bisa menciptakan efek aktif/tertekan palsu melalui kelas tersebut:

<script>
//<![CDATA[
(function(win, doc) {

    var pager = false;

    // left = 37, right = 39
    doc.onkeydown = function(e) {
        switch (e.keyCode) {
            case 37: pager = doc.getElementById('blog-pager-newer-link'); break;
            case 39: pager = doc.getElementById('blog-pager-older-link'); break;
        }
        if (pager) {
            pager.className = pager.className += ' active';
            win.location.href = pager.children[0].href;
            return false;
        }
    };

    doc.onkeyup = function(e) {
        switch (e.keyCode) {
            case 37: pager = doc.getElementById('blog-pager-newer-link'); break;
            case 39: pager = doc.getElementById('blog-pager-older-link'); break;
        }
        if (pager) {
            pager.className = pager.className.replace(/ active/g, "");
        }
    };

})(window, document);
//]]>
</script>
#blog-pager-older-link.active a,
#blog-pager-newer-link.active a,
#blog-pager-older-link a:active,
#blog-pager-newer-link a:active {
  background-color:red;
  color:white;
}

Demonstrasi bisa Anda lihat di sini. Pastikan Anda sudah berada dalam keadaan terfokus pada area ketika hendak menekan tombol panah kanan dan kiri:

Lihat Demo

Metode ini mungkin tidak cocok untuk diterapkan pada blog yang bersifat umum karena akan mengganggu fungsi tombol keyboard yang asli. Lebih baik terapkan pada blog-blog yang bersifat pribadi saja.

Labels: ,

10 Comments:

At Saturday, June 21, 2014 at 3:11:00 PM GMT+7, Blogger Admin said...

wah ini cocok buat blog komik nih :-bd

 
At Sunday, June 22, 2014 at 6:25:00 AM GMT+7, Blogger IRIL SAGITA said...

Aku coba berhasil kak, tapi jika ingin navigasi atas dan bawah tidak di fungsikan apakah memotong bagain ini :

doc.onkeydown = function(e) {


};

 
At Tuesday, June 24, 2014 at 10:45:00 AM GMT+7, Blogger Unknown said...

Coba dulu :-bd

 
At Sunday, June 29, 2014 at 2:50:00 PM GMT+7, Blogger Unknown said...

wah untuk pribadi sih kayanya oke juga nih mas :)

 
At Monday, June 30, 2014 at 8:07:00 AM GMT+7, Blogger Yonda Wahyu said...

Wah, mantep mas.. :)

 
At Thursday, July 3, 2014 at 4:31:00 PM GMT+7, Blogger binkbenk said...

wah keren ijin copy yang bang,
Rencana mau dishare ulang

 
At Friday, July 4, 2014 at 10:55:00 PM GMT+7, Blogger Taufik Nurrohman said...

top: 38
right: 39
bottom: 40
left: 37

 
At Tuesday, July 8, 2014 at 4:56:00 PM GMT+7, Blogger Unknown said...

Bagus kk, tapi kalau ditambah fitur buat newer oldernya untuk post yang selabel saja gimana caranya kakak ?

 
At Monday, August 4, 2014 at 7:05:00 AM GMT+7, Blogger Taufik Nurrohman said...

Pakai tag kondisional.

 
At Wednesday, December 10, 2014 at 11:07:00 PM GMT+7, Blogger kawakamigenzai said...

Kayaknya yang buay pos manusia setengah kode nih :D , gilaa sampe bisa bikin kayak gini. BTW Nice bisa buat jadi referensi

 

Post a Comment

<< Home