美文网首页
js实现回到顶部按钮

js实现回到顶部按钮

作者: super静_jingjing | 来源:发表于2018-03-01 11:57 被阅读0次

回到顶部按钮的实现基本思想很简单,就是修改页面的scrollTop,难点就是去计算scrollTop
实现回到顶部按钮,需要考虑几个细节:

  1. 回到顶部的速度计算
  2. 定时器需要关闭,不关闭会导致不停的执行回到顶部的事件
  3. 回到顶部事件未结束,用户进行滚动页面,应该关闭定时器
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #btn1{
                position: fixed;
                bottom: 0;
                right: 0;
            }
        </style>
        <script>
            window.onload = function(){
                var oBtn=document.getElementById('btn1');
                //用处,避免当按钮触发页面回到顶部时页面滚动这个过程未结束,用户此时人为滚动时页面不会准确响应用户
                var bSys = true;
                var timer = null;
                window.onscroll = function(){
                    //当认为滚动页面,关闭定时器
                    if(!bSys){
                        clearInterval(timer);
                    }
                    bSys = false;
                }
                oBtn.onclick = function()
                {
                    //每30ms执行一次  scrollTop+iSpeed
                    timer = setInterval(function(){
                        var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
                        //算速度     除以的数值越大,速度越慢
                        var iSpeed=Math.floor(0-scrollTop/5);
                        if(scrollTop == 0){
                            //不关闭定时器,会导致第一次回到顶部之后,导致不能在响应用户的滚动,不定的触发回到顶部
                            clearInterval(timer);
                        }
                        //当按钮启动页面滚动,设置为true
                        bSys=true;
                        document.documentElement.scrollTop=document.body.scrollTop=scrollTop+iSpeed;
                    }, 30);
                }
            }
        </script>
    </head>
    <body>
        1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br />31<br />32<br />33<br />34<br />35<br />36<br />37<br />38<br />39<br />40<br />41<br />42<br />43<br />44<br />45<br />46<br />47<br />48<br />49<br />50<br />51<br />52<br />53<br />54<br />55<br />56<br />57<br />58<br />59<br />60<br />61<br />62<br />63<br />64<br />65<br />66<br />67<br />68<br />69<br />70<br />71<br />72<br />73<br />74<br />75<br />76<br />77<br />78<br />79<br />80<br />81<br />82<br />83<br />84<br />85<br />86<br />87<br />88<br />89<br />90<br />91<br />92<br />93<br />94<br />95<br />96<br />97<br />98<br />99<br />100<br />101<br />102<br />103<br />104<br />105<br />106<br />107<br />108<br />109<br />110<br />111<br />112<br />113<br />114<br />115<br />116<br />117<br />118<br />119<br />120<br />121<br />122<br />123<br />124<br />125<br />126<br />127<br />128<br />129<br />130<br />131<br />132<br />133<br />134<br />135<br />136<br />137<br />138<br />139<br />140<br />141<br />142<br />143<br />144<br />145<br />146<br />147<br />148<br />149<br />150<br />151<br />152<br />153<br />154<br />155<br />156<br />157<br />158<br />159<br />160<br />161<br />162<br />163<br />164<br />165<br />166<br />167<br />168<br />169<br />170<br />171<br />172<br />173<br />174<br />175<br />176<br />177<br />178<br />179<br />180<br />181<br />182<br />183<br />184<br />185<br />186<br />187<br />188<br />189<br />190<br />191<br />192<br />193<br />194<br />195<br />196<br />197<br />198<br />199<br />200<br />201<br />202<br />203<br />204<br />205<br />206<br />207<br />208<br />209<br />210<br />211<br />212<br />213<br />214<br />215<br />216<br />217<br />218<br />219<br />220<br />221<br />222<br />223<br />224<br />225<br />226<br />227<br />228<br />229<br />230<br />231<br />232<br />233<br />234<br />235<br />236<br />237<br />238<br />239<br />240<br />241<br />242<br />243<br />244<br />245<br />246<br />247<br />248<br />
        <input type="button" id="btn1" value="回到顶部" />
    </body>
</html>


相关文章

  • js 返回页面顶部(动画)

    js 返回到页面顶部,含有渐变或者动画效果 点击返回顶部按钮,页面逐渐向上回到顶部: js 返回到页面顶部,直接返...

  • js实现回到顶部按钮

    回到顶部按钮的实现基本思想很简单,就是修改页面的scrollTop,难点就是去计算scrollTop实现回到顶部按...

  • JS BOM教程

    js制作侧边栏(跟随滚动) 回到顶部按钮

  • css+js实现回到顶部按钮

    浏览网页时,当滚动条滚动的时候,会出现回到顶部的按钮,有的按钮是通过图片实现的,但是其实也可以通过纯css+jav...

  • vue下返回顶部功能实现

    vue下返回顶部功能实现 Vue中点击按钮回到顶部(滚动效果) vue中回到顶部 vue滚动到一定位置显示置顶元素...

  • RecyclerView滑动监听

    RecyclerView一键回到顶部 布局 设置一键回到顶部按钮的点击事件 设置回到顶部按钮的显示隐藏 方式1: ...

  • Android停止(结束)惯性滚动

    场景:当页面滚动超过一定距离后,显示回到顶部的按钮,点击按钮平滑滚动回顶部。 实现:监听页面滚动距离,与一特定值比...

  • js实现点击回到顶部

    html 代码 js 代码

  • js实现回到顶部效果

    实现原理:利用a标签回到顶部的链接, href=”javascript:;”是用来阻止a标签的默认行为。 html...

  • 富文本组件wxParse,制作回到顶部按钮

    富文本组件wxParse,制作回到顶部按钮 第二种情况,当页面在离开顶部一定距离的时候,回到顶部按钮出现 接下就是...

网友评论

      本文标题:js实现回到顶部按钮

      本文链接:https://www.haomeiwen.com/subject/qhdgxftx.html