溫馨提示×

溫馨提示×

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

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

web開發(fā)中可以實現(xiàn)前端動畫的方法有哪些

發(fā)布時間:2022-03-05 09:53:13 來源:億速云 閱讀:211 作者:小新 欄目:web開發(fā)

這篇文章主要介紹web開發(fā)中可以實現(xiàn)前端動畫的方法有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

  1、javascript直接實現(xiàn)

  主要思想是通過setInterval或setTimeout方法的回調函數(shù)來持續(xù)調用改變某個元素的CSS樣式以達到元素樣式變化的效果。

  <divid="rect"></div>

  <script>

  letelem=document.getElementById('rect');

  letleft=0;

  lettimer=setInterval(function(){

  if(left<window.innerWidth-200){

  elem.style.marginLeft=left+'px';

  left++;

  }else{

  clearInterval(timer);

  }

  },16);

  </script>

  缺點:javascript實現(xiàn)動畫通常會導致頁面頻繁性重排重繪,消耗性能,一般應該在桌面端瀏覽器。在移動端上使用會有明顯的卡頓。

  2、SVG(可伸縮矢量圖形);

  3、CSS3transition;

  4、CSS3animation;

  5、Canvas動畫;

  6、requestAnimationFrame;

  requestAnimationFrame是另一種WebAPI,原理與setTimeout和setInterval類似,都是通過javascript持續(xù)循環(huán)的方法調用來觸發(fā)動畫動作。但是requestAnimationFrame是瀏覽器針對動畫專門優(yōu)化形成的APi,在性能上比另兩者要好。

  <divid="rect"></div>

  <scripttype="text/javascript">

  window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame;

  letelem=document.getElementById("rect");

  letleft=0;

  //自動執(zhí)行持續(xù)性回調

  requestAnimationFrame(step);

  //持續(xù)該改變元素位置

  functionstep(){

  if(left<window.innerWidth-200){

  left+=1;

  elem.style.marginLeft=left+"px";

  requestAnimationFrame(step);

  }

  }

  </script>

  7、jq動畫

  1)顯示隱藏:

  .show(ms).hide(ms).toggle(ms)不帶參數(shù)時默認瞬間顯示隱藏,不帶動畫,原理:display屬性實現(xiàn)的,帶毫秒數(shù)參數(shù):會有動畫效果。

  toggle顯示被隱藏的元素,并隱藏已顯示的元素

  2)上滑下滑:.slideUp(ms).slideDown(ms).slideToggle(ms)

  3)淡入淡出:.fadeIn(ms).fadeOut(ms).fadeToggle(ms)

  2.萬能動畫:

  $(&hellip;).animate(params,speed,callback)

  params:一個包含樣式屬性及值的映射

  speed:速度參數(shù)[可選]

  callback:在動畫完成時執(zhí)行的函數(shù)[可選],回調函數(shù)中的this,指正在播放動畫的當前DOM元素

以上是“web開發(fā)中可以實現(xiàn)前端動畫的方法有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

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

web
AI