首页 > 代码库 > 点击返回顶部的实现

点击返回顶部的实现

在jsp页面中的head部分添加:

<style type="text/css">
        a.backToTop{width:60px; height:60px; background:#eaeaea url("${basePath}groupon/images/top.gif") no-repeat -51px 0; text-indent:-999em}
        a.backToTop:hover{background-position:-113px 0}
        </style>
        <script type="text/javascript" src=http://www.mamicode.com/"${basePath}js/jquery_js/jquery_1.9.1.js"></script>
        <script type="text/javascript" src=http://www.mamicode.com/"${basePath}groupon/js/gotoTop.js"></script>

<script type="text/javascript">
        $(function(){
        $(".backToTop").goToTop();
            $(window).bind(‘scroll resize‘,function(){
                $(".backToTop").goToTop({
                    pageWidth:1120,
                    duration:0
                });
            });       
        });
        </script>


gotoTop.js内容如下:

// JavaScript Document
(function($){
var goToTopTime;
$.fn.goToTop=function(options){
var opts = $.extend({},$.fn.goToTop.def,options);
var $window=$(window);
$body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $(‘html‘) : $(‘body‘)) : $(‘html,body‘); // opera fix
//$(this).hide();
var $this=$(this);
clearTimeout(goToTopTime);
goToTopTime=setTimeout(function(){
var controlLeft;
if ($window.width() > opts.pageHeightJg * 2 + opts.pageWidth) {
controlLeft = ($window.width() - opts.pageWidth) / 2 + opts.pageWidth + opts.pageWidthJg;
}else{
controlLeft = $window.width()- opts.pageWidthJg-$this.width();
}
var cssfixedsupport=/msie/.test(navigator.userAgent.toLowerCase()) && parseFloat($.browser.version) < 7;//判断是否ie6
var controlTop=$window.height() - $this.height()-opts.pageHeightJg;
controlTop=cssfixedsupport ? $window.scrollTop() + controlTop : controlTop;
var shouldvisible=( $window.scrollTop() >= opts.startline )? true : false;

if (shouldvisible){
$this.stop().show();
}else{
$this.stop().hide();
}

$this.css({
position: cssfixedsupport ? ‘absolute‘ : ‘fixed‘,
top: controlTop,
left: controlLeft
});
},30);

$(this).click(function(event){
$body.stop().animate( { scrollTop: $(opts.targetObg).offset().top}, opts.duration);
$(this).blur();
event.preventDefault();
event.stopPropagation();
});
};

$.fn.goToTop.def={
pageWidth:1120,//页面宽度
pageWidthJg:2,//按钮和页面的间隔距离
pageHeightJg:60,//按钮和页面底部的间隔距离
startline:30,//出现回到顶部按钮的滚动条scrollTop距离
duration:200,//回到顶部的速度时间
targetObg:"body"//目标位置
};
})(jQuery);
$(function(){
$(‘<a href="javascript:;" class="backToTop" title="返回顶部">返回顶部</a>‘).appendTo("body");
});

 

图片见附件。

点击返回顶部的实现