>웹 프론트엔드 >JS 튜토리얼 >Javascript는 맨 위로 특수 효과_javascript 기술을 구현합니다.

Javascript는 맨 위로 특수 효과_javascript 기술을 구현합니다.

WBOY
WBOY원래의
2016-05-16 16:00:481210검색

HTML:

<input id="btn1" type="button" value="回到顶部" />

CSS:

#btn1{position:fixed;bottom:10px;right:10px;}

JS:

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으로 문의하세요.