OSDN Git Service

Lighten the setFrame method
authordhrname <dhrname@users.sourceforge.jp>
Tue, 13 Oct 2015 12:53:29 +0000 (21:53 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Tue, 13 Oct 2015 12:53:29 +0000 (21:53 +0900)
org/w3c/dom/smil.js

index 44763be..bb6f32f 100644 (file)
@@ -1203,11 +1203,7 @@ base("$frame").up("$svgEvent").mix( {
   \r
   /*setTimeTable メソッドはスケジュールの記録をつけるためのメソッド*/\r
   setTimeTable: function (num) {\r
-    var timelines = this.timelines,\r
-        lastTimeLine = timelines[timelines.length-1];\r
-    /*キャッシュのlengthプロパティを使って、再びスケジュールの計算をさせないようにする*/\r
-    if (this.lastTimeLine !== lastTimeLine) {\r
-      this.lastTimeLine = lastTimeLine;\r
+    var timelines = this.timelines;\r
       for (var i=0, obj = null;i<timelines.length;++i) {\r
         if (!timelines[i].target) {\r
           /*target オブジェクトがないものは除外*/\r
@@ -1240,12 +1236,17 @@ base("$frame").up("$svgEvent").mix( {
           obj = this.first = first;\r
         }\r
       }\r
-    }\r
-    timelines = obj = void 0;\r
+    timelines = obj = first = begin = target = void 0;\r
   },\r
   \r
   setFrame: function (num) {\r
-    this.setTimeTable(num);\r
+    var timelines = this.timelines,\r
+        lastTimeLine = timelines[timelines.length-1];\r
+    /*キャッシュのlastTimeLineプロパティを使って、再びスケジュールの計算をさせないようにする*/\r
+    if (this.lastTimeLine !== lastTimeLine) {\r
+      this.lastTimeLine = lastTimeLine;\r
+      this.setTimeTable(num);\r
+    }\r
     /*スケジュールに記録しておいたものを実行して、イベントを発火\r
      * また、発火した場合は記録から取り除いて、次回から再び発火しないようにする*/\r
     var obj = this.first,\r