ホームページ  >  記事  >  ウェブフロントエンド  >  JS はトップに戻る特殊効果を実装します

JS はトップに戻る特殊効果を実装します

大家讲道理
大家讲道理オリジナル
2016-11-10 14:33:571207ブラウズ

<input id="btn1" type="button" value="回到顶部" />
#btn1{position:fixed;bottom:10px;right:10px;}
window.onload=funcition(){
    var oBtn=document.getElementById("btn");
    var timer=null;
    //申明一个变量看是否为系统还是用户滚动
    var sBys=true;
    window.onscroll=funcition(){
        if(!sBys){
            clearInterval(timer);
        }
        sBys=false;
    }
    oBtn.onclick=funcition(){
       timer = setInterval(funcition(){
            //获取scrollTop
            var scrollTop=document.documentElement.scrollTop||document.body.scrollTop;
            //当点击按钮回到顶部时计算缓冲速度
            var ispeed=Math.floor(-scrollTop/8);
            if(scrollTop==0){
                clearInterval(timer)
            }
            sBys=true;
            document.documentElement.scrollTop=document.body.scrollTop=scrollTop+ispeed;
        },30)
    }
}

知識ポイント: 1. 計算速度(バッファリング)は切り捨てです

2.scrollTop==0の場合はタイマーをクリアする必要があります

3. スクロールをユーザーが操作しているのかJSが操作しているのかを判断する必要があります

ユーザー操作の場合、タイマーをクリアします

🎜🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。