JS는 맨 위로 돌아가기 특수 효과를 구현합니다.

大家讲道理
풀어 주다: 2016-11-10 14:33:57
원래의
1285명이 탐색했습니다.

<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가 조작하는지 확인해야 합니다. 사용자 조작인 경우 타이머를 클리어합니다


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿