91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

js怎么實現返回頂部緩沖效果

發布時間:2021-06-18 14:28:24 來源:億速云 閱讀:128 作者:小新 欄目:web開發

這篇文章將為大家詳細講解有關js怎么實現返回頂部緩沖效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

運行原理

通過定時器30毫秒執行一次滾動條上升,每次上升的高度為當前高度的80%,這樣就達到了上升緩沖的動畫效果。

判斷當滾動條高度超過一屏時,按鈕顯示,默認隱藏

知識要點

scrollTop//獲取滾動條高度 需要寫兼容
clientHeight//可視窗口高度 需要寫兼容
setInterval//定時器
window.onscroll//滾動觸發事件

完整代碼

<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>demo</title>
<style>
body,h2,h3,h4,h5,h6,h7,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td{margin:0;padding:0;}
h2,h3,h4,h5,h6,h7{font-size:100%;}
address,cite,dfn,em,var{font-style:normal;}
code,kbd,pre,samp{font-family:courier new,courier,monospace;}
ul,ol{list-style:none;}
a{text-decoration:none;}
a:hover{text-decoration:none;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
legend{color:#000;}
fieldset,img{border:0;}
button,input,select,textarea{font-size:100%;}
table{border-collapse:collapse;border-spacing:0;}
.clear{clear: both;float: none;height: 0;overflow: hidden;}
.bg{background:#9B1BC5; width: 1000px; height: 3000px; margin: 0 auto;}
#gotop{width: 50px; height: 50px; background:#5490F5; color: #fff; position: fixed; left: 50%; bottom: 30px; text-align: center; font-family: "Microsoft Yahei",tahoma,arial; font-size: 14px; cursor: pointer; margin-left: 520px; display: none;}
#gotop span{display: block;padding: 5px;}
</style>
</head>
<body>
<div class="bg"></div>
<div id="gotop"><span>返回頂部</span></div>
<script type="text/javascript">
 //在頁面加載完后立即執行多個函數方案
 function addloadEvent(func){
  var oldonload=window.onload;
  if(typeof window.onload !="function"){
   window.onload=func;
  }
  else{
   window.onload=function(){
    if(oldonload){
     oldonload(); 
    }
    func();
   }
  }
 }
 //在頁面加載完后立即執行多個函數方案結束
 addloadEvent(b);
 function b(){
  var gotop=document.getElementById("gotop");  
  var timer;
  var tf=true;
  //滾動觸發
  window.onscroll=function(){
   //獲取滾動條高度
   var ostop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
   //獲取窗口可視區域高度
   //console.log(ostop)
   var ch=document.documentElement.clientHeight||document.body.clientHeight;
   //如果頁面超過一屏高度按鈕顯示,否則隱藏
   if(ostop>=ch){
    gotop.style.display="block";
   }else{
    gotop.style.display="none";
   }
   //
   if(!tf){
    clearInterval(timer);    
   }
    tf=false;
  }
  //點擊觸發
  gotop.onclick=function(){
   //創建定時器
   timer=setInterval(function(){
    //獲取滾動條高度
    var ostop=document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
    //每次上升高度的20%
    var speed=Math.ceil(ostop/5);
    //每次上升當前高度的80%
document.documentElement.scrollTop=document.body.scrollTop=ostop-speed;
    //如果高度為0,清除定時器
    if(ostop==0){
     clearInterval(timer);
    } 
    tf=true;
   },30);   
  }
 }
</script>
</body>
</html>

關于“js怎么實現返回頂部緩沖效果”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

js
AI

怀柔区| 屯门区| 栾城县| 武穴市| 巴中市| 浮梁县| 利辛县| 天水市| 涟源市| 大同市| 福安市| 贵德县| 灵石县| 龙井市| 海口市| 周至县| 隆尧县| 江源县| 云梦县| 垦利县| 高密市| 齐河县| 上虞市| 塔河县| 香河县| 叶城县| 洪雅县| 德安县| 福海县| 上思县| 岳西县| 宽城| 江陵县| 阿拉善左旗| 延津县| 高安市| 宁夏| 枝江市| 涿鹿县| 蓝山县| 环江|