溫馨提示×

溫馨提示×

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

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

JS實現的簡單折疊展開動畫效果示例

發布時間:2020-09-27 19:18:07 來源:腳本之家 閱讀:382 作者:愛吃番茄的西紅柿 欄目:web開發

本文實例講述了JS實現的簡單折疊展開動畫效果。分享給大家供大家參考,具體如下:

<!DOCTYPE = html>
<html>
 <head>
  <title>www.jb51.net JS折疊展開動畫</title>
  <style>
  body{
   margin: 0px;
   padding: 0px;
  }
  .red{
   background-color:red;
   width:200px;
   height:200px;
   position:relative;
   left:-200px;
   top:0px;
  }
  .blue{
   background:blue;
   width:20px;
   height:50px;
   position:absolute;
   left:200px;
   top:75px;
  }
  </style>
 </head>
 <body>
  <div class="red" id="cf1"><div class="blue" id="cf">分享</div></div>
  <script>
  window.onload = function(){
   var onDiv = document.getElementById("cf1");
   onDiv.onmouseover = function(){
    startmove(0);
   }
   onDiv.onmouseout = function(){
    startmove(-200);
   }
  }
  var timer ;
  function startmove(target){
   clearInterval(timer);//清除定時器,以免多次觸發定時器導致速度越來越快而不是勻速前進
   var onDiv1 = document.getElementById("cf1");
   timer = setInterval(function(){
   var speed = 0;
   if(onDiv1.offsetLeft<target){
    speed = 10;
   }else{
    speed = -10;
   }
   if(onDiv1.offsetLeft==target){
    clearInterval(timer);
   }
   else{
   onDiv1.style.left = onDiv1.offsetLeft+speed+'px';
   }
   },30)
  }
  </script>
 </body>
</html>

運行效果:

JS實現的簡單折疊展開動畫效果示例

小結:

一、css部分:

1、別忘記樣式初始化;
2、復習css文件的引用方式;(類引用方式)
3、復習絕對定位和相對定位關系(父關系用relative;子關系用absolute

二、js部分:

1、element.style.left & element.offsetLeft區別:

① 前者單位是px,是字符串;后者單位是數值;
② 其他參見:https://www.jb51.net/article/43981.htm

2、思路開始不夠清晰,未能抽象出鼠標放上和移開關鍵變量——目標位置不同而已

3、函數參數盡可能少(在能達成目標的情況下)

4、鼠標作用對象設置為父級div最好,不然會出現閃爍情況(剛調用onmouseover,目標移除,又調用了onmouseout

5、注意清除定時器(①、防止移動時速度不穩定 ②、到目標位置停止運動)

三、其他:

Q:谷歌瀏覽器解除禁止彈出窗口?

A:設置——高級設置——隱私設置——內容設置——彈出式窗口,進行相關設置。

更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript頁面元素操作技巧總結》、《JavaScript運動效果與技巧匯總》、《JavaScript動畫特效與技巧匯總》、《JavaScript圖形繪制技巧總結》、《JavaScript切換特效與技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript數學運算用法總結》

希望本文所述對大家JavaScript程序設計有所幫助。

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女