js实现回到顶部

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>js实现回到顶部</title>
</head>
<style type="text/css">
    .box{ width:1190px; margin:0 auto;}
    #btn{ width:40px; height:40px; margin-left:610px; bottom:30px; left:50% ;position:fixed; background:url(top_bg.png) no-repeat left top; display:none;}
    #btn:hover{ background:url(top_bg.png); background-position:0 -40px;}
</style>
<script type="text/javascript">
    window.onload=function(){//页面加载完成后执行
        var obtn=document.getElementById("btn");
        var timer=null;
        var my_scroll=true;
        var clientHeight=document.documentElement.clientHeight;//获取可视区高度

        window.onscroll=function(){
        var osTop=document.documentElement.scrollTop || document.body.scrollTop;
            if(osTop>=clientHeight){//判断滚动条距离页面顶端的距离是否大于可视区的高度,若大于则隐藏,小于则显示
                obtn.style.display="block";
            }else{
                obtn.style.display="none";
            }
            if(!my_scroll){
                clearInterval(timer);
            }
                my_scroll=false;
        }
        
        
        
        
        obtn.onclick=function(){
                var timer=setInterval(function(){//定时器
                var osTop=document.documentElement.scrollTop || document.body.scrollTop;//滚动条距离页面顶端的距离,分不同的浏览器,考虑浏览器兼容性问题
                var ispeed=Math.floor(-osTop/6);//向下取整
                document.documentElement.scrollTop=document.body.scrollTop=osTop+ispeed;//滚轮回到顶部由快到慢
                my_scroll=true;
                if(osTop==0){
                    clearInterval(timer);
                }
            },30);
        }
        
        
    }
</script>

<body>
<div class="box"><img src="tb_bg.jpg" /></div>
<a href="javascript:;" id="btn" title="回到顶部"></a><!--javascript:;阻止标签的默认行为-->
</body>
</html>

主要知识点:

1.window.onload:页面加载完成触发事件

2.document.documentElement.clientHeight:获取可视区高度

3.window.onscroll:滚动条触发事件

4.document.documentElement.scrollTop || document.body.scrollTop:滚动条距离页面顶端的距离

5.setInterval:定时器

 

转载于:https://www.cnblogs.com/LeeYom1993/p/4366955.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值