}\r
return s;\r
},\r
+ \r
+ /*repeatイベントの発火時刻リスト\r
+ * setSmilEventメソッドを見よ*/\r
+ _repeatList: [],\r
+ \r
+ /*SMILイベント関連を発火させるためのメソッド\r
+ * もっぱら、push メソッドで使われる*/\r
+ setSmilEvent: function($list) {\r
+ var detail = 0;\r
+ $list.addEvent("begin", function($list) {\r
+ var target = this._ele;\r
+ /*IE11のために、MouseEventsでSMILEventsの代用をする*/\r
+ var evt = target.ownerDocument.createEvent("MouseEvents");\r
+ evt.initMouseEvent("beginEvent" ,true, true, window, detail, 0, 0, 0, 0, false, false, false, false, 0, target);\r
+ target.dispatchEvent(evt);\r
+ /*repeatイベントのために、_repeatListプロパティを初期化する*/\r
+ var list = this._repeatList = [];\r
+ }.bind(this) );\r
+ $list.addEvent("end", function() {\r
+ var target = this._ele;\r
+ var evt = target.ownerDocument.createEvent("MouseEvents");\r
+ evt.initMouseEvent("endEvent" ,true, true, window, detail, 0, 0, 0, 0, false, false, false, false, 0, target);\r
+ target.dispatchEvent(evt);\r
+ }.bind(this) );\r
+ },\r
\r
/*引数で指定した要素 ele の属性を解析して、フレームに追加する*/\r
push: function(/*Element Node*/ ele) {\r
};\r
/*setFrameメソッドを使ったときの、再帰スタックの使いすぎを防ぐため*/\r
frame.timelines = [];\r
+ this.setSmilEvent(frame.$list);\r
begin = ele = void 0;\r
return frame;\r
},\r
floor = Math.floor;\r
while(obj) {\r
var frame = obj.frame,\r
- target = obj.target\r
+ target = obj.target,\r
detail = 0;\r
if (frame <= num) {\r
/*IE11ではSVGEventsやDOMEventsを使うと問題が起きるため、MouseEventsで代用する*/\r