this.__cacheAttr = "";\r
value = attrName = ele = void 0;\r
},\r
+ \r
+ /*アニメーションの対象となる要素を値として返すメソッド\r
+ * もっぱら、pushメソッドで使われる*/\r
+ initTargetElement: function(ele) {\r
+ var s = ele.parentNode || null;\r
+ console.log(s, ele.parentNode);\r
+ var id = ele.getAttributeNS(null, "targetElement");\r
+ if (id) {\r
+ return ele.ownerDocument.getElementById(id);\r
+ }\r
+ /*getAttributeNSメソッドでうまくいかなかったため、NSなしで代用*/\r
+ if ( id = ele.getAttribute("xlink:href") ) {\r
+ return ele.ownerDocument.getElementById(id.slice(1));\r
+ }\r
+ ele = id = void 0;\r
+ return s;\r
+ },\r
\r
/*引数で指定した要素 ele の属性を解析して、フレームに追加する*/\r
push: function(/*Element Node*/ ele) {\r
}\r
/*キャッシュを初期化しておく*/\r
this.__cacheAttr = "";\r
- this.element = ele.parentNode || null;\r
- var id;\r
- if ( id = ele.getAttributeNS(null, "targetElement") ) {\r
- this.element = ele.ownerDocument.getElementById(id);\r
- }\r
- /*getAttributeNSメソッドでうまくいかなかったため、NSなしで代用*/\r
- if ( id = ele.getAttribute("xlink:href") ) {\r
- this.element = ele.ownerDocument.getElementById(id.slice(1));\r
- }\r
/*getAttrメソッドとhasAttrValuesメソッドで必要*/\r
- this._ele = ele;\r
+ this.ele = ele;\r
if (!this.hasAttrValues()) {\r
/*from属性、to、by、values属性が指定されていない場合、アニメーションの効果が出ないように調整する\r
*SMILアニメーションの仕様を参照\r
return null;\r
}\r
\r
+ /*initTargetElementメソッドを使って、elementプロパティの初期化*/\r
+ this.element = this.initTargetElement(ele);\r
+ \r
/*属性値の設定*/\r
this.attrName = this.getAttr("attributeName", "");\r
var attrName = this.attrName;\r
}\r
/*setFrameメソッドを使ったときの、再帰スタックの使いすぎを防ぐため*/\r
frame.timelines = [];\r
- begin = ele = id = void 0;\r
+ begin = ele = void 0;\r
return frame;\r
},\r
\r
this.rotate = this.getAttr("rotate", "0");\r
this.path = this.path.cloneNode(true);\r
var mpath = ele.getElementsByTagNameNS(this.path.namespaceURI, "mpath");\r
- var list = this.element.__transformList;\r
/*$animateは後で、プロパティを書き換えるために使う。tocallメソッドも参照*/\r
var $animate = this.$animateElement;\r
if (mpath.length) {\r