var scrolltotop={ setting:{ startline:100, //起始行 scrollto:0, //滚动到指定位置 scrollduration:400, //滚动过渡时间 fadeduration:[500,100] //淡出淡现消失 }, controlhtml:'', //返回顶部按钮 controlattrs:{offsetx:30,offsety:80},//返回按钮固定位置 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().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; //var btleft = $(window).width() / 2 + 610; var btright=20; mainobj.cssfixedsupport=!iebrws||iebrws&&document.compatmode=="css1compat"&&window.xmlhttprequest; mainobj.$body=(window.opera)?(document.compatmode=="css1compat"?$("html"):$("body")):$("html,body"); mainobj.$control=$('
'+mainobj.controlhtml+"
").css({position:mainobj.cssfixedsupport?"fixed":"absolute",bottom:50,right:btright,opacity:0,cursor:"pointer"}).attr({title:"返回顶部"}).click(function(){mainobj.scrollup();return false;}).appendto("body");if(document.all&&!window.xmlhttprequest&&mainobj.$control.text()!=""){mainobj.$control.css({width:mainobj.$control.width()});}mainobj.togglecontrol(); $('a[href="'+mainobj.anchorkeyword+'"]').click(function(){mainobj.scrollup();return false;}); $(window).bind("scroll resize",function(e){mainobj.togglecontrol();}); }); } }; scrolltotop.init();