Buat Back To Top Dengan JQuery

Obachti 95

Blogger friendly sharing

Buat Back To Top Dengan JQuery

Jane Doe By Jane Doe 7
Back to Top biasa digunakan pada blog yang memiliki artikel panjang. Namun saat ini banyak sekali blog yang memiliki komentar hingga 50 lebih untuk menggulung ke atas dengan manual itu cukup merepotkan jadi sebaiknya gunaan Tombol Back to Top seperti berikut.

Kelebihan Back to Top yang menggunakan jquery adalah cara menggulungnya yang lembut. Disini ada dua cara membuatnya tanpa masuk haaman Edit HTML cukup dengan tambahkan pada widget saja. Mudah banget sob.

Cara Membuat Back To Top dengan JQuery

Style Pertama

Pada Style Pertama ini adalah tombol back to top akan langsung muncul saat blog dibuka. Untuk membuatnya silahkan tambahkan kode berikut pada widget blog kamu.

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>

<a href="javascript:void(0);" onclick="jQuery('html, body').animate({scrollTop:0}, 'slow');" style="bottom: 5px; display: scroll; position: fixed; right: 5px;" title="Kembali ke atas"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPyHaohrVUVKwA9gNfMao_UXfV-EQ5B-Dr16tlNMrGBdDOuiewg-8vwZd1oCQXaafnIQp8vfUaAMS1jV2LhgtMl6KTZYgMEjhcytd32QGl7crIi7w8tQceAmUoPocO5fjXgV3V3ZR_CQ/s400/Back-to-top.png" /></a>

Style Kedua

Pada style ini adalah tombol back to top hanya muncul jika scroll di gulung ke bagian bawah blog. Jadi tidak langsung muncul seperti style pertama. Untuk caranyapun masih sama yaitu tambahkan kode berikut di widget blog kamu.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" >
var scrolltotop={
//startline: Integer. Number of pixels from top of doc scrollbar is scrolled before showing control
//scrollto: Keyword (Integer, or "Scroll_to_Element_ID"). How far to scroll document up when control is clicked on (0=top).
setting: {startline:100, scrollto: 0, scrollduration:1000, fadeduration:[500, 100]},
controlHTML: '<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgAPyHaohrVUVKwA9gNfMao_UXfV-EQ5B-Dr16tlNMrGBdDOuiewg-8vwZd1oCQXaafnIQp8vfUaAMS1jV2LhgtMl6KTZYgMEjhcytd32QGl7crIi7w8tQceAmUoPocO5fjXgV3V3ZR_CQ/s400/Back-to-top.png" />', //HTML for control, which is auto wrapped in DIV w/ ID="topcontrol"
controlattrs: {offsetx:5, offsety:5}, //jarak ke kanan / bawah
anchorkeyword: '#top', //Enter href value of HTML anchors on the page that should also act as "Scroll Up" links
state: {isvisible:false, shouldvisible:false},
scrollup:function(){
if (!this.cssfixedsupport) //if control is positioned using JavaScript
this.$control.css({opacity:0}) //hide control immediately after clicking it
var dest=isNaN(this.setting.scrollto)? this.setting.scrollto : parseInt(this.setting.scrollto)
if (typeof dest=="string" && jQuery('#'+dest).length==1) //check element set by string exists
dest=jQuery('#'+dest).offset().top
else
dest=0
this.$body.animate({scrollTop: dest}, this.setting.scrollduration);
},
keepfixed:function(){
var $window=jQuery(window)
var controlx=$window.scrollLeft() + $window.width() - this.$control.width() - this.controlattrs.offsetx
var controly=$window.scrollTop() + $window.height() - this.$control.height() - this.controlattrs.offsety
this.$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 : false
if (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=scrolltotop
var iebrws=document.all
mainobj.cssfixedsupport=!iebrws || iebrws && document.compatMode=="CSS1Compat" && window.XMLHttpRequest //not IE or IE7+ browsers in standards mode
mainobj.$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:'Kembali ke Atas'})
.click(function(){mainobj.scrollup(); return false})
.appendTo('body')
if (document.all && !window.XMLHttpRequest && mainobj.$control.text()!='') //loose check for IE6 and below, plus whether control contains any text
mainobj.$control.css({width:mainobj.$control.width()}) //IE6- seems to require an explicit width on a DIV containing text
mainobj.togglecontrol()
$('a[href="' + mainobj.anchorkeyword +'"]').click(function(){
mainobj.scrollup()
return false
})
$(window).bind('scroll resize', function(e){
mainobj.togglecontrol()
})
})
}
}
scrolltotop.init()
</script>


Keterangan :
  • Untuk Mengganti Tombol ganti tulisan yang berwarna biru dengan url gambar kamu sendiri.
  • Untuk mengganti tulisan kembali ke atas. silahkan ganti tulisan kembali ke atas yang berwarna merah.

7 comments

  1. Betul sob, sanagt repot kalau harus menggulung layar keatas lagi hehee..

    ReplyDelete
  2. udah dicoba, yang pertama gagal maning, yang kedua sukses, tengkyu sobat

    ReplyDelete
  3. wah mantap ni Gan... :)
    trims dah berbagi ya ;)

    ReplyDelete
  4. saya juga sudah lama memakai ini sob, memang keren...

    ReplyDelete
  5. bagus sobat...
    Apalagi buat yang punya komentar lebih dari 100, -(sayang bnget, komentar blog ku masih sedikit, )hhehe

    ReplyDelete
  6. hehe, ada juga ternyata ya tips begini. keren..

    ReplyDelete
  7. Salin dulu..., kapan kapan dipasang
    Makasih infonya

    ReplyDelete

Post a Comment