SVG repeatCount和repeatDur屬性

admin發表於2018-08-23

SVG更多動畫內容可以參閱SVG animation動畫詳解一章節。

一.repeatCount屬性:

此屬性用來規定動畫重複的次數。

程式碼例項如下:

[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="50" y="50"
        width="100" height="50"
        fill="red">
    <animate attributeType="XML"
             attributeName="x"
             from="50" to="300"
             dur="5s"
             repeatCount="2"
             fill="freeze">
    </animate>
  </rect>
</svg>          
</body>
</html>

上面的程式碼中,矩形動畫可以重複兩次。

repeatCount屬性值不但可以是數字,也可以是"indefinite",表示可以無限迴圈下去。

二.repeatDur屬性:

此屬性用來限制動畫重複的時間。

程式碼例項如下:

[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="50" y="50"
        width="100" height="50"
        fill="red">
    <animate attributeType="XML"
             attributeName="x"
             from="50" to="300"
             dur="5s"
             repeatDur="10s"
             repeatCount="4"
             fill="freeze">
    </animate>
  </rect>
</svg>          
</body>
</html>

動畫可以重複4次,理論耗時是20秒,但是通過repeatDur屬性規定重複總時間是10秒,所以動畫只會執行10s。

相關文章