zoukankan      html  css  js  c++  java
  • JS实现页面回到顶部效果

    【代码】

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>home</title>
     6 </head>
     7 <style>
     8 *{
     9     padding:0;
    10     margin:0;
    11 }
    12 .box{
    13     width:1190px;       /*只有设置了宽度才能设置居中效果*/
    14     margin:0 auto;        /*设置居中*/
    15 }
    16 #btn{
    17     display: none;        /*按钮默认不显示*/
    18     width:40px;
    19     height:40px;
    20     position:fixed;        /*设置为固定定位*/
    21     left:50%;                
    22     margin-left:610px;
    23     bottom: 30px;
    24     background:url("btn.png") no-repeat 0 0;     /*通过sprite来设置背景*/
    25 }
    26 #btn:hover{
    27     background:url("btn.png") no-repeat 0 -39px;    
    28 }
    29 </style>
    30 <body>
    31     <div class="box">
    32         <img src="img1.jpg" alt="">
    33     </div>
    34     <a id="btn" href="javascript:;"></a>    
    35 </body>
    36 
    37 <script>
    38     // 当页面加载完成后执行
    39     window.onload = function(){
    40         var obtn = document.getElementById("btn");
    41         var clientHeight = document.documentElement.clientHeight;   //获取用户页面可视窗口的高度
    42         var timer = null;    
    43         var isTop = true;
    44 
    45         //滚动条滚动时触发
    46         window.onscroll = function(){
    47             
    48             var osTop = document.documentElement.scrollTop || document.body.scrollTop;     //获取滚动条当前位置距离顶部的距离
    49             
    50             if(osTop >= clientHeight){    //当页面进入第二屏时显示按钮
    51                     obtn.style.display = "block";
    52                 }else{
    53                     obtn.style.display = "none";
    54                 }
    55 
    56             if(!isTop){                //若滚动条未到达顶部则继续执行定时器
    57                 clearInterval(timer);
    58             }
    59             isTop = false;
    60         }
    61 
    62         obtn.onclick = function(){
    63             timer = setInterval(function(){
    64                 var osTop = document.documentElement.scrollTop || document.body.scrollTop;
    65                 var ispeed = Math.floor(-osTop/6);        //使向上滚动呈现渐变效果
    66                 document.documentElement.scrollTop = document.body.scrollTop = (osTop+ispeed);
    67                 isTop = true;
    68 
    69                 if(soTop == 0){     //如果滚动条已经到达浏览器顶部则暂定滚动
    70                     clearInterval(timer);
    71                 }
    72             },30)
    73         }
    74     }
    75 </script>        
    76 </html>
  • 相关阅读:
    #import &lt;/usr/include/objc/objc-class.h&gt; not such file or directory问题的解决方法
    关于二进制补码
    DirectSound的应用
    Qt on Android: http下载与Json解析
    双绞线的制作,T568A线序,T568B线序
    Java设计模式之从[暗黑破坏神存档点]分析备忘录(Memento)模式
    linux 系统升级中的一些配置
    malloc函数具体解释
    老鸟的Python新手教程
    ubuntu12.04 安装配置jdk1.7
  • 原文地址:https://www.cnblogs.com/wx1993/p/4805617.html
Copyright © 2011-2022 走看看