回到顶部效果



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>回到顶部效果</title>
    <style>
        .box{
            width: 1190px;
            margin: 0 auto;
        }
        #btn{
            width: 40px;
            height: 40px;
            position: fixed;
            left: 50%;
            margin-left: 610px;
            bottom: 30px;
            background: url("images/top_bg.png") no-repeat left top;
            display: none;                   /*首先隐藏回到顶部按钮*/
        }
        #btn:hover{
            background: url("images/top_bg.png") no-repeat left -40px;  /*-40解决了点击换背景的问题*/
        }
    </style>
    <script>
        window.onload=function(){
            var obtn=document.getElementById('btn');
            //获取页面可视区的高度
            var clientHeight=document.documentElement.clientHeight;
            var timer=null;
            var isTop=true;
            //滚动条滚动时触发
            window.onscroll=function(){
                var osTop=document.documentElement.scrollTop || document.body.scrollTop;
                if (osTop>=clientHeight){
                    obtn.style.display='block';
                } else {
                    obtn.style.display='none';
                }
                if (false){
                    clearInterval(timer);
                }
                isTop=false;
            }
            obtn.onclick=function(){
                //设置定时器
                timer=setInterval(function(){
                    //获取滚动条距离顶部的高度
                    var osTop=document.documentElement.scrollTop || document.body.scrollTop; /*为了兼容浏览器*/
                    var ispeed=Math.floor(-osTop/5);    /*负号为了防止不能到顶部留有间隙*/
                    document.documentElement.scrollTop = document.body.scrollTop =osTop+ispeed;
                    isTop=true;
                    if (osTop==0){
                        clearInterval(timer);
                    }
                },30);  
            }
        }
    </script>
</head>
<body>
    <div class="box">
        <img src="images/tb_bg.jpg">
    </div>
    <a href="javascript:;" id="btn" title="回到顶部"></a>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值