返回顶部

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    #top{
        right:20px;
        bottom:20px;
        position:fixed;
        cursor: pointer;
        display: none;
    }
</style>
<body style="height: 1500px">

    <p>1qqqq11111;</p>
    <p>asdkfjasdjflajsdlfjasld;jfladsjfldskajflk</p>

    <div id="top">返回顶部</div>
</body>
<script>

    function isChrome(){
        nu=navigator.userAgent;     //判断浏览器内核
        //alert(nu)
        if(nu.match(/safari/i)){        //判断是否是safari Chrome使用的就是Safari内核
            return true;
        } else {
            return false;
        }

    }

    topobj=document.getElementById('top');


    window.οnscrοll=function() {

        if (isChrome()) {               //是safari内核,使用body获取屏幕高
            osTop = document.body.scrollTop;
            if (osTop > 300) {
                topobj.style.display = 'block'
            } else {
                topobj.style.display = 'none'
            }
        }
        else{                           // 不是safari内核,使用documentElement获取屏幕高
                osTop = document.documentElement.scrollTop;
                if (osTop > 300) {
                    topobj.style.display = 'block'
                } else {
                    topobj.style.display = 'none'
                }
            document.title=osTop;

        }

    };
    topobj.οnclick=function () {
        timer=setInterval(function () {

            //获取滚动条的滚动高度
            var osTop = document.documentElement.scrollTop || document.body.scrollTop;
            //用于设置速度差,产生缓动的效果
            var speed = Math.floor(-osTop / 6);
            document.documentElement.scrollTop = document.body.scrollTop = osTop + speed;
            isTop =true;  //用于阻止滚动事件清除定时器
            if(osTop == 0){
                clearInterval(timer);
            }

        },30);
    };

   /*
    //第二种方法无序判断浏览器内核

    var topobj=document.getElementById('top');
    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){  //如果滚动高度大于可视区域高度,则显示回到顶部按钮
            topobj.style.display = 'block';
        }else{         //否则隐藏
            topobj.style.display = 'none';
        }

        //主要用于判断当 点击回到顶部按钮后 滚动条在回滚过程中,若手动滚动滚动条,则清除定时器
        if(!isTop){

            clearInterval(timer);
        }
        isTop = false;

    };


    topobj.οnclick=function () {
        timer=setInterval(function () {

                //获取滚动条的滚动高度
                var osTop = document.documentElement.scrollTop || document.body.scrollTop;
                //用于设置速度差,产生缓动的效果
                var speed = Math.floor(-osTop / 6);
                document.documentElement.scrollTop = document.body.scrollTop = osTop + speed;
                isTop =true;  //用于阻止滚动事件清除定时器
                if(osTop == 0){
                    clearInterval(timer);
                }

        },30);
    }
*/


</script>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值