SVG accumulate和additive動畫屬性
關於SVG更多動畫內容可以參閱SVG animation動畫詳解一章節。
一.accumulate屬性:
此屬性規定是否將當前動畫結束的狀態作為下一次動畫的起始狀態。
具有兩個屬性值:
(1).none:預設值,表示從起始狀態進行下一次動畫。
(2).sum:表示從當前動畫結束的狀態為起始點進行下一次動畫。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { margin: 0px; padding: 0px; } svg { border:1px solid blue; margin:50px; } </style> </head> <body> <svg width="500" height="180" > <rect x="10" y="10" width="100" height="50" fill="red"> <animate attributeType="XML" attributeName="x" from="10" to="50" dur="1s" accumulate="sum" repeatCount="3" begin="click" fill="freeze"> </animate> </rect> </svg> </body> </html>
預設狀態下,重複的動畫都是從最初的起始狀態重新再執行一次;如果將accumulate屬性值設定為"num",那麼下一次動畫的指定都是在上一次動畫結束狀態基礎上進行的,那麼上面程式碼的執行結果也就很好理解了。
二.additive屬性:
此屬性規定正在進行動畫行為的屬性是否可以進行附加。
預設情況下,高優先順序的動畫會被低優先順序的覆蓋,看如下程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { margin: 0px; padding: 0px; } svg { border:1px solid blue; width:400px; height:300px; margin:200px; } </style> </head> <body> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <rect id="ant" x="0" y="0" width="40" height="40" fill="green"> </rect> <animate xlink:href="#ant" attributeName="x" from="0" to="100" dur="5s" begin="0s" /> <animate xlink:href="#ant" attributeName="x" from="0" to="100" dur="5s" begin="0s" /> </svg> </body> </html>
程式碼為矩形的x屬性設定了兩個動畫效果,但是第二個會覆蓋第一個的效果,也就是優先順序低覆蓋優先順序高。
再來看一段程式碼例項:
[HTML] 純文字檢視 複製程式碼執行程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> * { margin: 0px; padding: 0px; } svg { border:1px solid blue; width:400px; height:300px; margin:200px; } </style> </head> <body> <svg version="1.1" xmlns="http://www.w3.org/2000/svg"> <rect id="ant" x="0" y="0" width="40" height="40" fill="green"> </rect> <animate xlink:href="#ant" attributeName="x" from="0" to="100" dur="5s" begin="0s" /> <animate xlink:href="#ant" additive="sum" attributeName="x" from="0" to="100" dur="5s" begin="0s" /> </svg> </body> </html>
為第二個動畫元素新增additive="sum",是不是動畫速度加快了一倍,這就是優先順序高的動畫效果會附加到優先順序低的效果智商。
與accumulate一樣,additive具有兩個屬性值:
(1).none:預設值,覆蓋前面的動畫效果。
(2).sum:具有動畫附加效果。
相關文章
- SVG restart動畫屬性SVGREST動畫
- SVG restart 動畫屬性SVGREST動畫
- SVG 動畫 fill 屬性SVG動畫
- SVG repeatCount和repeatDur屬性SVG
- 屬性動畫:基本使用和組合動畫動畫
- SVG keyPoints 屬性SVG
- 屬性動畫動畫
- iOS動畫 屬性屬性解析iOS動畫
- Android 動畫詳解:屬性動畫、View 動畫和幀動畫Android動畫View
- Android View動畫和屬性動畫簡單解析:AndroidView動畫
- SVG:理解stroke-dasharray和stroke-dashoffset屬性SVG
- Android屬性動畫詳解(一),屬性動畫基本用法Android動畫
- Android 動畫之屬性動畫Android動畫
- android屬性動畫Android動畫
- 理解SVG座標系統和變換: transform屬性SVGORM
- android動畫——屬性動畫(Property Animation)Android動畫
- Android屬性動畫:動畫流控制Android動畫
- SVG 動畫SVG動畫
- 屬性動畫與差值器動畫
- Android 屬性動畫(二)Android動畫
- 初識屬性動畫——使用Animator建立動畫動畫
- 【Android 動畫】動畫詳解之屬性動畫(三)Android動畫
- 【Android 動畫】動畫詳解之屬性動畫(五)Android動畫
- SVG animation 動畫SVG動畫
- 不炫技,SVG+CSS3 旋轉動畫屬性就能實現的夢幻效果SVGCSSS3動畫
- 屬性動畫 58同城資料載入動畫動畫
- Android 屬性動畫實戰Android動畫
- 屬性動畫:如何自定義View動畫View
- 如何理解Android屬性動畫Android動畫
- CSS3的動畫屬性CSSS3動畫
- svg02——svg繪製基本圖形,瞭解常用的屬性SVG
- SVG 動畫實現彈性的頁面元素效果SVG動畫
- Android動畫效果之初識Property Animation(屬性動畫)Android動畫
- SVG簡單動畫SVG動畫
- defer 屬性和 async 屬性
- 屬性動畫-波紋擴散WaveView動畫View
- 檢視屬性+物件動畫元件ViewPropertyObjectAnimator物件動畫元件ViewObject
- Android開發之屬性動畫Android動畫