Tabulasi Widget Sidebar Otomatis dengan JQuery
Selain menggunakan tag kondisional, salah satu cara praktis untuk menghemat ruang sidebar adalah dengan menerapkan sistem tabulasi widget sidebar otomatis seperti ini:
Hasil akhir proyek ini nantinya akan secara otomatis membuat sejumlah widget (bisa ditentukan jumlahnya) membentuk tabulasi-tabulasi dimana judul widget akan menjadi elemen tabulasinya, sedangkan konten widget akan menjadi tubuhnya.
Pertama-tama masuklah ke halaman editor HTML templatemu, kemudian cari script yang tampak seperti ini:
Jika templatemu sudah dilengkapi dengan script tersebut, kita bisa langsung melanjutkan ke langkah berikutnya. Tapi jika belum ada, salin dulu script tersebut lalu letakkan di atas kode
Setelah itu salin kode ini kemudian letakkan di bawah script tadi:
Terakhir tinggal meletakkan kode CSS ini di atas kode
Ganti kode yang Saya beri warna merah dengan ID sidebarmu. (ID sidebar??)
Untuk menentukan ID sidebar, kamu cari baris kode yang kurang lebih tampak seperti ini:
Nah, kode yang Saya beri warna merah itulah yang dimaksud sebagai ID sidebar.
Kode
Klik Simpan Template.
Hasil akhir proyek ini nantinya akan secara otomatis membuat sejumlah widget (bisa ditentukan jumlahnya) membentuk tabulasi-tabulasi dimana judul widget akan menjadi elemen tabulasinya, sedangkan konten widget akan menjadi tubuhnya.
Pertama-tama masuklah ke halaman editor HTML templatemu, kemudian cari script yang tampak seperti ini:
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js' type='text/javascript'></script>
Jika templatemu sudah dilengkapi dengan script tersebut, kita bisa langsung melanjutkan ke langkah berikutnya. Tapi jika belum ada, salin dulu script tersebut lalu letakkan di atas kode
</head>
Setelah itu salin kode ini kemudian letakkan di bawah script tadi:
<script type='text/javascript'>
//<![CDATA[
var starttab = 0;
var endtab = 3;
var sidebarname = 'sidebar-wrapper';
var home_page_tab=location.href;if(home_page_tab.indexOf("blogger.com")!=-1){var starttab=-1;var endtab=-1}var $jtab1=jQuery.noConflict();$jtab1(document).ready(function(){var a="<div class='widget-wrapper'><ul class='tab-wrapper'></ul></div>";for(i=starttab;i<=endtab;i++){$jtab1("#"+sidebarname+" .widget h2").eq(i).hide();$jtab1("#"+sidebarname+" .widget").eq(i).hide();$jtab1("#"+sidebarname+" .widget .widget-item-control").eq(i).hide()}$jtab1("#"+sidebarname+" .widget").eq(starttab).before(a);i=0;j=0;$jtab1("#"+sidebarname+" .widget > h2").each(function(){if(i>=starttab&&i<=endtab){var b=$jtab1(this).text();$jtab1("#"+sidebarname+" .tab-wrapper").append("<li class='tab' id='tabid"+sidebarname+j+"'>"+b+"</li>");j++}i++});i=0;j=0;$jtab1("#"+sidebarname+" .widget").each(function(){if(i>=starttab&&i<=endtab){$jtab1(this).attr({id:"widgtabid"+sidebarname+j});$jtab1(this).addClass("hompitab");j++}i++});$jtab1("#"+sidebarname+" .tab").click(function(){$jtab1("#"+sidebarname+" .hompitab").hide();$jtab1("#widg"+$jtab1(this).attr("id")).fadeIn();$jtab1("#"+sidebarname+" .tab").removeClass("active-tab");$jtab1(this).addClass("active-tab")});$jtab1("#"+sidebarname+" .tab:first").click()});
//]]>
</script>
Terakhir tinggal meletakkan kode CSS ini di atas kode
]]></b:skin>
atau </style>
:/*
* Modifikasi 3 Oktober 2011 :: Taufik Nurrohman
* (http://hompimpaalaihumgambreng.blogspot.com)
* (original: http://www.abu-farhan.com)
*/
.hompitab {
position:relative;
z-index:1;margin:0px 0px;
padding:0px 0px;
border:1px solid #ccc;
background:#fff;
}
.hompitab .widget-content {
margin:10px 15px !important;
}
ul.tab-wrapper {
margin:15px 0 -10px 0;
padding:0 0 0 0;
}
ul.tab-wrapper li {
position:relative;
z-index:0;
cursor:pointer;
background:#666;
padding:6px 8px 5px;
text-decoration:none;
color:#ebebeb;
font:bold 11px Arial,Sans-serif;
text-shadow:0 1px rgba(0,0,0,0.4);
display:inline;
list-style:none !important;
margin:0px 1px;
text-transform:uppercase;
-webkit-border-radius:3px 3px 0px 0px;
-moz-border-radius:3px 3px 0px 0px;
border-radius:3px 3px 0px 0px;
}
ul.tab-wrapper li.active-tab {
border:1px solid #ccc;
border-bottom-color:#fff;
background:#fff !important;
z-index:2;
color:#666;
text-shadow:none;
}
Ganti kode yang Saya beri warna merah dengan ID sidebarmu. (ID sidebar??)
Untuk menentukan ID sidebar, kamu cari baris kode yang kurang lebih tampak seperti ini:
<div id='sidebar-wrapper'>
<b:section class='sidebar' id='sidebar' preferred='yes'>
<b:widget id='PopularPosts1' locked='false' title='Populer' type='PopularPosts'/>
<b:widget id='Label1' locked='false' title='Media' type='Label'/>
<b:widget id='BlogArchive1' locked='false' title='Arsip' type='BlogArchive'/>
<b:widget id='HTML4' locked='false' title='Label' type='HTML'/>
<b:widget id='Followers1' locked='false' title='Pengikut' type='Followers'/>
</b:section>
</div>
Nah, kode yang Saya beri warna merah itulah yang dimaksud sebagai ID sidebar.
Kode
var starttab=0;var endtab=3;
adalah variabel untuk menentukan jumlah widget yang akan dijadikan tabulasi. Urutan pertama dimulai dari 0, keudian tentukan batas akhir widget pada variabel var endtab
. Misalnya, jika kamu menuliskan angka 3 pada var endtab
, maka empat buah widget di sidebarmu akan secara otomatis berubah menjadi elemen tabulasi, sementara selebihnya tidak.Klik Simpan Template.
7 Comments:
menarik... mungkin nati akan duniapiyen terapkan.. tapi sekarang sepertinya masih tidak begitu perlu
thanks tutorialnya
By Piyen, at Tuesday, October 4, 2011 at 5:38:00 AM GMT+7
@Asmara Susanto: YESSS!!! OF COURSEEEE!!!
By Taufik Nurrohman, at Tuesday, October 4, 2011 at 9:03:00 AM GMT+7
saya sudah membaca tentang hal ini di blognya om ABU
By Bayu, at Wednesday, October 5, 2011 at 3:48:00 PM GMT+7
@Bayu Aldi Yansyah: Ya, ini memang hasil modifikasi dari scriptnya beliau ^_^
By Taufik Nurrohman, at Thursday, October 6, 2011 at 8:28:00 AM GMT+7
ID Sidebar kurang ngerti sob...
By Rizky Sopiyandi, at Saturday, October 22, 2011 at 6:37:00 PM GMT+7
Mas mau nanya..
Apa script ini tidak bisa di kombinasikan dengan yang jquery slider accordion...
karena saya pernah coba pada template yang saya buat..
jquery tabnya sih jalan tapi slider accordionnya tidak bekerja..
Apa ada solusi agar script ini dan slider accordion dapat berfungsi??
saya liat script ini terdapat jQuery.noConflict()..
Apa fungsinya yah mas..
Mohon pencerahannya.. :D
By Unknown, at Monday, October 22, 2012 at 9:39:00 PM GMT+7
salam..ketika saya pasang diblog, judul tab ke tutup, kira-kira kenapa ya mas. blog saya (home-edukasi.blogspot).terima kasih
By kang olis, at Saturday, July 27, 2013 at 12:03:00 PM GMT+7
Post a Comment
<< Home