line = duration = advance = void 0;\r
},\r
\r
+ /*凍結処理をするために、進捗率を最後まで進めて調整するメソッド\r
+ * もっぱら、_setEndFrameメソッドで使われる*/\r
+ freeze: function($list) {\r
+ var line = this.timeline,\r
+ duration = line.simpleDuration;\r
+ if (duration) {\r
+ var time = (line.activeTime > $list.beginEnd) ? $list.beginEnd\r
+ : line.activeTime;\r
+ var advance = ( time % duration ) / duration;\r
+ /*例外が発生するため、進捗率が1を超えないように処理*/\r
+ advance = (advance > 1) ? 1 : advance;\r
+ /*活動継続時間と単純継続時間が一致すると、余りは0となるため以下の処理*/\r
+ advance = advance || 1;\r
+ } else {\r
+ advance = 0;\r
+ }\r
+ return this.tocall(advance);\r
+ },\r
+ \r
/*_setEndFrameメソッドは、終了処理と凍結作業をする*/\r
_setEndFrame: function($list) {\r
- var frame = $list.currentFrame;\r
/*上書きされたメソッドを呼び出してアニメーションの凍結作業をする*/\r
if (this.fill === "freeze") {\r
- var line = this.timeline,\r
- duration = line.simpleDuration;\r
- if (duration) {\r
- var time = (line.activeTime > $list.beginEnd) ? $list.beginEnd\r
- : line.activeTime;\r
- var advance = ( time % duration ) / duration;\r
- /*例外が発生するため、進捗率が1を超えないように処理*/\r
- advance = (advance > 1) ? 1 : advance;\r
- /*活動継続時間と単純継続時間が一致すると、余りは0となるため以下の処理*/\r
- advance = advance || 1;\r
- } else {\r
- advance = 0;\r
- }\r
- this.setAttribute(this.tocall(advance));\r
+ this.setAttribute(this.freeze($list));\r
line = duration = advance = void 0;\r
} else {\r
this.removeAttribute();\r
}\r
} else {\r
/*凍結処理をする*/\r
+ list[this.numberOfList].value = this.freeze($list);\r
}\r
},\r
\r