/*type属性の値*/\r
type: "translate",\r
\r
+ /*additive属性がsumなら真*/\r
+ isAdditive: false,\r
+ \r
/*$animateElementオブジェクトのtocallメソッドをオーバライド*/\r
tocall: function (advance) {\r
if (this.numberOfList < 0) {\r
throw new Error("Number of The List Error");\r
}\r
- this.element.__transformList[this.numberOfList] = this.type+ "(" +this.$animateElement.tocall.call(this, advance)+ ")";\r
+ if (this.isAdditive\r
+ || (this.numberOfList === (this.element.__transformList.length - 1) )) {\r
+ this.element.__transformList[this.numberOfList] = this.type+ "(" +this.$animateElement.tocall.call(this, advance)+ ")";\r
+ }\r
var d = this.defaultValue;\r
d = d && (d + " ");\r
return d + this.element.__transformList.join(" ");\r
var parent = this.element;\r
this.isDefault = parent.hasAttributeNS(null, "transform");\r
this.defaultValue = parent.getAttributeNS(null, "transform") || "";\r
+ this.isAdditive = (parent.getAttributeNS(null, "additive") === "sum");\r
if (!parent.__transformList) {\r
parent.__transformList = [];\r
}\r
expect($animate.tocall(0.5)).toBe("scale(0.5)");\r
expect($animate.tocall(0.9)).toBe("scale(0.9)");\r
expect($animate.tocall(1)).toBe("scale(1.0)");\r
+\r
+ ele.parentNode.appendChild(ele.cloneNode(true));\r
+ $animate.numberOfList = -1;\r
+ $animate.init(ele.parentNode.lastChild);\r
+ expect($animate.numberOfList).toBe(1);\r
+ expect($animate.tocall(0)).toBe("scale(0.0)");\r
+ expect($animate.tocall(1)).toBe("scale(1.0)");\r
+ \r
+ ele.parentNode.appendChild(ele.cloneNode(true));\r
+ $animate.up("$a").numberOfList = -1;\r
+ ele.parentNode.setAttribute("transform", "matrix(0 0 0 0 0 0)");\r
+ $animate.$a.init(ele.parentNode.lastChild);\r
+ expect($animate.$a.numberOfList).toBe(2);\r
+ expect($animate.$a.isDefault).toBeTruthy();\r
+ expect($animate.$a.defaultValue).toBe("matrix(0 0 0 0 0 0)");\r
+ expect($animate.$a.tocall(0)).toBe("scale(0.0)");\r
+ expect($animate.$a.tocall(1)).toBe("scale(1.0)");\r
+ $animate.defaultValue = $animate.$a.defaultValue;\r
+ expect($animate.tocall(0.1)).toBe("scale(1.0)");\r
\r
+ ele.setAttributeNS(null, "additive", "sum");\r
ele.parentNode.appendChild(ele.cloneNode(true));\r
$animate.numberOfList = -1;\r
$animate.init(ele.parentNode.lastChild);\r