Sudah banyak sobat blogger yang menanyakan tentang tombol back to top (tombol kembali ke atas) Blogger
yang saya gunakan, karena berbeda dengan tombol yang sebelumnya sudah
saya bagi. Jika yang lama hanya menggunakan fungsi hashtag pada url HTML
(#top atau #), maka yang saya gunakan menggunakan fungsi javascript dan
jquery. Tapi saya sempat agak bingung untuk berbagi karena script yang
saya gunakan saya host secara tersendiri di server lain dan telah
mengalami modifikasi penuh sehingga hanya cocok untuk template saya.
Jika saya memberikannya secara mentah maka sangat sulit untuk
dimodifikasi sesuai keinginan sobat. Padahal setiap tampilan blog
berbeda, efek yang diinginkan sobat pada tombol scroll to top mungkin
juga berbeda, dan yang terpenting adalah memasang tombol dengan mudah
tanpa perlu melakukan modifikasi pada javascript seperti yang saya
lakukan.
1. Copy code script di atas
2. Jika sudah melakukan pengecekan jquery dan ternyata sudah ada (note: minimal versi jquery yang bisa digunakan adalah 1.3.0), hapus script jquery di bagian atas, yaitu:
5. Pilih jenis gadget HTML/Javascript.
6. Masukkan seluruh kode ke dalam kotak editor dan save.
7. Agar tidak mengganggu widget lain, dan dimuat belakangan, pastikan widget di posisikan di bagian paling bawah. Geser widget baik ke bagian footer widget (jika ada) atau di sidebar paling bawah.
8. Save lagi dan cek apakah widget back to top sudah terpasang dengan baik.
So, pada prosesnya, saya telah menemukan script back/scroll to top yang jauh lebih cocok, buatan dynamicdrive,
dan dapat dengan mudah saya modifikasi sehingga cocok untuk Blogger.
Script ini nantinya dihost sendiri di server Blogger
(dimasukkan melalui widget/gadget editor), sehingga modifikasi dapat dilakukan sewaktu-waktu tanpa harus mengupload dan meng-host file javascript ke server lain.
Apa yang Berbeda?
Telah banyak tutorial blog yang berbagi script scroll/back to top (kembali ke atas), yang berbeda pada script back to top pada tutorial ini adalah:
1. Perampingan script agar tidak memperberat loading blog
2. Pengurangan, perampingan, dan modifikasi bagian script agar sesuai dengan Blogger.
3. Efek fading dan efek smooth sekaligus (dengan bantuan jquery)
4. Panduan modifikasi penuh pada script untuk menampilkan efek yang personal, agar sesuai dengan desain blog dan keinginan.
5. Pemasangan melalui widget/gadget (layout editor).
Cara Memasang Tombol Back To Top dengan Efek Fading dan Smooth di Blogger
Script ini memiliki dua bagian, yang pertama adalah script fungsi back
to top itu sendiri, dan yang kedua script jquery untuk membantu efek
smooth dan fading (in and out).
Jquery adalah script yang sudah sangat lazim digunakan, sehingga apabila
blog anda sudah menggunakan jquery, tidak perlu lagi menambahkannya.
Cek apakah blog anda sudah menggunakan jquery atau belum, masuk ke Edit
HTML lalu search (CTRL+F) dengan keyword jquery, letaknya
ada di dalam elemen head (antara <head> dan </head>). Jika
sudah ada, tidak perlu lagi menambahkan script jquery.
Langkah Pemasangan:<!--Back to top script by dynamicdrive.com and buka-rahasia.blogspot.com--><script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script><script type="text/javascript" ><!-- hapus script di atas jika template sudah menggunakan jquery-->/************************************************ Scroll To Top Control script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)* Advanced modification by buka-rahasia.blogspot.com* This notice MUST stay intact for legal use* Visit Project Page at http://www.dynamicdrive.com for full source code***********************************************/var scrolltotop={setting: {startline:100, scrollto: 0, scrollduration:1000, fadeduration:[500, 200]},controlHTML: '<img src="URL Gambar Back To Top" />',controlattrs: {offsetx:5, offsety:5},anchorkeyword: '#top',state: {isvisible:false, shouldvisible:false},scrollup:function(){if (!this.cssfixedsupport)this.$control.css({opacity:0})var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto)if (typeof dest=="string" && jQuery('#'+dest).length==1)dest=jQuery('#'+dest).offset().topelsedest=0this.$body.animate({scrollTop: dest}, this.setting.scrollduration);},keepfixed:function(){var $window=jQuery(window)var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetxvar controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsetythis.$control.css({left:controlx+'px', top:controly+'px'})},togglecontrol:function(){var scrolltop=jQuery(window).scrollTop()if (!this.cssfixedsupport)this.keepfixed()this.state.shouldvisible=(scrolltop>=this.setting.startline)? true : falseif (this.state.shouldvisible && !this.state.isvisible){this.$control.stop().animate({opacity:1}, this.setting.fadeduration[0])this.state.isvisible=true}else if (this.state.shouldvisible==false && this.state.isvisible){this.$control.stop().animate({opacity:0}, this.setting.fadeduration[1])this.state.isvisible=false}},init:function(){jQuery(document).ready(function($){var mainobj=scrolltotopvar iebrws=document.allmainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards modemainobj.$body=(window.opera)? (document.compatMode=="CSS1Compat"? $('html') : $('body')) : $('html,body')mainobj.$control=$('<div id="topcontrol">'+mainobj.controlHTML+'</div>').css({position:mainobj.cssfixedsupport? 'fixed' : 'absolute', bottom:mainobj.controlattrs.offsety, right:mainobj.controlattrs.offsetx, opacity:0, cursor:'pointer'}).attr({title:'Scroll Back to Top'}).click(function(){mainobj.scrollup(); return false}).appendTo('body')if (document.all && !window.XMLHttpRequest && mainobj.$control.text()!='') //khusus versi IE6 ke bawah untuk loose check, juga untuk melihat apakah control mengandung teksmainobj.$control.css({width:mainobj.$control.width()}) //IE6- perlu diset witdh yang jelas agar kontainer text terbentuk dengan rapimainobj.togglecontrol()$('a[href="' + mainobj.anchorkeyword +'"]').click(function(){mainobj.scrollup()return false})$(window).bind('scroll resize', function(e){mainobj.togglecontrol()})})}}scrolltotop.init()</script><!--Back to top script by dynamicdrive.com and buka-rahasia.blogspot.com end-->
1. Copy code script di atas
2. Jika sudah melakukan pengecekan jquery dan ternyata sudah ada (note: minimal versi jquery yang bisa digunakan adalah 1.3.0), hapus script jquery di bagian atas, yaitu:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>3. Modifikasi terpenting adalah pada URL gambar back to top, masukkan URL gambar anda menggantikan teks URL Gambar Back To Top. Modifikasi tingkat lanjut (jika dibutuhkan) akan saya sampaikan di bagian akhir artikel. Untuk gambar back to top anda dapat mencari sendiri melalui Googling, atau bisa gunakan beberapa contoh berikut :
(save as/save image as, resize jika perlu, dan upload sendiri)
4. Masuk ke dashboard > Layout > Add/tambah gadget.5. Pilih jenis gadget HTML/Javascript.
6. Masukkan seluruh kode ke dalam kotak editor dan save.
7. Agar tidak mengganggu widget lain, dan dimuat belakangan, pastikan widget di posisikan di bagian paling bawah. Geser widget baik ke bagian footer widget (jika ada) atau di sidebar paling bawah.
8. Save lagi dan cek apakah widget back to top sudah terpasang dengan baik.
Advanced modification pada Tombol Scroll/Back to Top
Untuk melakukan modifikasi efek pada tombol back to top, perhatikan poin-poin berikut:
- startline: Integer nilai
pixel ke bawah dimana tombol back to top akan dimunculkan. Menambah
nilainya berarti tombol akan ditampilkan lebih ke bawah setelah user
scroll down. Nilai default di atas adalah 100
- scrollto: Integer, tujuan
scroll setelah tombol diklik. Nilai 0 (dalam pixel) seperti default di
atas berarti scroll akan kembali ke bagian paling ujung atas (titik
nol). Menambah nilainya berarti akan menurunkan titik tujuan scroll.
- scrollduration: kecepatan/durasi scroll (dalam miliseconds), semakin tinggi nilainya, semakin lambat. Default adalah 1000 (1 detik).
- fadeduration:
kecepatan/durasi fading (dalam miliseconds), nilai pertama adalah nilai
fade in, yang kedua adalah nilai fade out. Nilai default di atas adalah
500 dan 200.
- offsetx: nilai posisi x tombol back to top (dalam pixel), semakin ditambah semakin menjorok ke dalam. Default 5.
- offsety: nilai posisi y tombol back to top (dalam pixel), semakin ditambah semakin menjorok ke atas. Default 5.
Important note:
- Jangan mencoba menambahkan script ke dalam template melalui HTML editor, karena akan terjadi kesalahan parsing, widget parsing dan template parsing Blogger berbeda.
- Never remove the attributions on the script, respect creators.
Okay that's it. Semoga tutorial di atas tidak hanya memberi manfaat dalam hal pemasangan tombol back to top, tapi juga memberikan sedikit gambaran mengenai penggunaan javascript. Have a nice blogging, as always.
0 komentar:
Speak up your mind
Tell us what you're thinking... !