js实现一键回到顶部小效果

<style>
  *{
       margin: 0;
       padding: 0;
   }
   header{
       height: 400px;
       background: #ddd;
   }
   section{
       height: 1800px;
       width: 1130px;
       margin: 0 auto;
       background: #f99;
   }
   footer{
       height: 600px;
       background: #ddd;
   }
   #goTop{
       width: 50px;
       height: 50px;
        /*未给父元素设置top和bottom,就可以被束缚在父元素中*/
       position: absolute;    
       background: #000;
       margin-left: 565px;
       left: 50%;
   }
   #goTop.active{
       /* goTop并且带有active类的元素 */
       position: fixed;
       left: 50%;
       bottom: 100px;
   }
   .wrap{
       width: 1130px;
       height: 100px;
       background: yellowgreen;
       margin: 0 auto;
   }
</style>

<body>
    <header></header>
    <section></section>
    <footer id="footer">
        <div class="wrap">
                <div id="goTop">
                </div>
        </div>
    </footer>
</body>

<script>
// 可视窗口的高度(可视窗口到小方块的上条边的距离)
var clientHeight = document.documentElement.clientHeight || document.body.clientHeight;
onscroll = function(){
   //scrollTop是卷入屏幕里的高度
    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
    if(scrollTop >= 500){
        goTop.className = "active";
    }else{
        goTop.className = "";
    }
   //2200 是小方块到网页顶部的距离(header+section的距离);
   //100是 #goTop.active中bottom的值;
   //50是小方块元素的高度
    if(scrollTop > 2200 - clientHeight + 100 +50){       
        goTop.className = "";
    }
}
//以上内容是设置小方块消失出现的部分
//以下内容是设置小方块点击后回到顶部的效果
goTop.onclick = function(){
    document.body.scrollTop = 0;
    document.documentElement.scrollTop = 0;
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值