麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 網站 > WEB開發 > 正文

通過javascript操作CSS3屬性實現動畫

2024-04-27 15:19:52
字體:
來源:轉載
供稿:網友

   CSS3提供兩種方式來實現動畫,transition與animation。animation涉及自定義一種為“@keyframes”的東西,這個需要動用到insertRule太復雜了,因此本文跳過它。有人它為transform也算一種,但它是靜態的,需要結合transition才能變成動態,因此也跳過。

  transition主要就是以下四個屬性,后面跟著的是它們的初始值

  transition-property: all;

  transition-duration: 0s;

  transition-timing-function: ease;

  transition-delay: 0s;

  transition-property的值可以為none,all,或指定上的屬性名

  當前可進行補間的CSS屬性(比MDC上的少,去掉許多私有屬性與比較罕見的屬性)

 

  transition-duration,動畫的持續時間,其值為一個帶單位的數值,單位可以為s與ms

  transition-delay:動畫延遲多久開始.

  transition-timing-function:緩動公式,值為ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(, , , )

  ease

  This keyword sets the easing function to cubic-bezier(0.25, 0.1, 0.25, 1.0).

  linear

  This keyword sets the easing function to cubic-bezier(0.0, 0.0, 1.0, 1.0).

  ease-in

  This keyword sets the easing function to cubic-bezier(0.42, 0.0, 1.0, 1.0).

  ease-out

  This keyword sets the easing function to cubic-bezier(0.0, 0.0, 0.58, 1.0).

  ease-in-out

  This keyword sets the easing function to cubic-bezier(0.42, 0.0, 0.58, 1.0).

  cubic-bezier

  Specifies a cubic bezier curve to use as the easing function. The four number values specify the P1 and P2 points of the curve as (x1, y1, x2, y2). All values must be in the range [0.0, 1.0] inclusive.

  但在JS操作它們時我們其中只需要transition就行了,由于這是瀏覽器商首先搞出來,因此都帶著它們的前綴,如-ms-,-moz-等等,我們需要把它們改成駝峰風格才能調用,見下面的例子。

  示例1,通過JS來操作這些CSS3屬性實現動畫效果:

  1.   
  2. <!DOCTYPE html> 
  3. <html> 
  4.   <head> 
  5.     <meta charset="utf-8"
  6.     <title>dom Framework</title> 
  7.   <script> 
  8.       var dom = function(s){ 
  9.         return document.getElementById(s) 
  10.       } 
  11.       dom.cssName = function (name){ 
  12.         var prefixes = ['''-ms-','-moz-''-webkit-''-khtml-''-o-'], 
  13.         rcap = /-([a-z])/g,capfn = function($0,$1){ 
  14.           return $1.toUpperCase(); 
  15.         }; 
  16.         dom.cssName = function(name, target, test){ 
  17.           target = target || document.documentElement.style; 
  18.           for (var i=0, l=prefixes.length; i < l; i++) { 
  19.             test = (prefixes[i] + name).replace(rcap,capfn); 
  20.             if(test in target){ 
  21.               return test; 
  22.             } 
  23.           } 
  24.           return null
  25.         } 
  26.         return dom.cssName(name); 
  27.       } 
  28.       window.onload = function(){ 
  29.         var el = dom("test"), 
  30.         css3transition = dom.cssName("transition"); 
  31.         el.style[css3transition] = "all 5s ease-in" 
  32.         dom("start").onclick = function(){ 
  33.           el.style.width = "400px"
  34.         } 
  35.       } 
  36.     
  37.     </script> 
  38.     <style> 
  39.       #test{ 
  40.         background: red; 
  41.         width:10px; 
  42.         height:30px; 
  43.       } 
  44.     </style> 
  45.   </head> 
  46.   <body> 
  47.     <h3>CSS3 動畫 by 司徒正美</h3> 
  48.     <div id="test"
  49.       TEXT 
  50.     </div> 
  51.     <button id="start" type="button">開始測試</button> 
  52.   </body> 
  53. </html> 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久综合| 久久亚洲精品久久国产一区二区 | 国产chinesehd精品91 | 天天撸日日夜夜 | 毛片在线免费播放 | 国产精品剧情一区二区在线观看 | 麻豆国产网站 | 久久草在线观看视频 | 日本网站在线看 | 国产精品视频成人 | xxxxxx打针视频vk | 日韩毛片一区二区三区 | 刘亦菲一区二区三区免费看 | 国产美女爽到喷白浆的 | 成人免费视频视频在线观看 免费 | 亚洲第一视频 | 亚洲视频高清 | 黄色av网站免费 | 性少妇videosexfreexx入片 | 午夜精品视频在线 | 一级空姐毛片 | 黄色成年在线观看 | tube69xxxxxhd | 欧美成人午夜 | 久久精品99北条麻妃 | 久草在线视频免费播放 | 一边吃奶一边插下面 | av电影在线观看网址 | 182tv成人福利视频免费看 | 青青草在线免费观看 | 午夜视频在线观看免费视频 | 中文字幕精品一区久久久久 | av噜噜噜噜 | 欧美在线观看视频网站 | 欧美日韩视频第一页 | 国产自在自线午夜精品视频在 | 最新中文字幕免费视频 | 久久国产精品久久精品国产演员表 | v11av在线视频成人 | 免费a视频在线观看 | 91丨九色丨国产在线观看 |