OSDN Git Service

Version 0.6.17, X.Dom.Query work a little.
[pettanr/clientJs.git] / 0.6.x / js / core / 05_XTimer.js
index d08c81e..cadab22 100644 (file)
@@ -13,7 +13,7 @@ X.Timer = ( function(){
                INDEX_TIME     = 0,\r
                INDEX_LAST     = 1,\r
                INDEX_COUNT    = 2,\r
-               INDEX_CALLBACK = 3;\r
+               INDEX_CALLBACK = 3,\r
                INDEX_UID      = 4;\r
        \r
        function loop(){\r
@@ -27,9 +27,9 @@ X.Timer = ( function(){
                        f   = queue[ INDEX_CALLBACK ];\r
                        c   = queue[ INDEX_COUNT ];\r
                        ret = f();\r
-                       if( ret === false || ret & X.Callback.UN_LISTEN || c === 1 ){\r
+                       if( ret & X.Callback.UN_LISTEN || c === 1 ){\r
                                list.splice( i, 1 );\r
-                               f.kill();\r
+                               f.kill && f.kill();\r
                                queue.length = 0;\r
                                continue;\r
                        } else\r
@@ -85,7 +85,7 @@ X.Timer = ( function(){
            for( ; i; ){\r
                ( f = list[ --i ] )( time );\r
                delete f.uid;\r
-               f.kill();\r
+               f.kill && f.kill();\r
            };\r
            list.length = 0;\r
        };\r
@@ -106,32 +106,32 @@ X.Timer = ( function(){
                    return uid;\r
                },\r
                once : function( time, args1, args2, args3 ){\r
-                       X.Timer.add( time, 1, args1, args2, args3 );\r
+                       return X.Timer.add( time, 1, args1, args2, args3 );\r
                },\r
                remove : function( uid ){\r
-                       var queue,\r
-                               list = TICKET_LIST,\r
+                       var list = TICKET_LIST,\r
                                i    = list.length,\r
-                               l    = i;\r
+                               l    = i,\r
+                               f, q;\r
                        for( ; i; ){\r
-                               if( ( queue = list[ --i ] )[ INDEX_UID ] === uid ){\r
+                               if( ( q = list[ --i ] )[ INDEX_UID ] === uid ){\r
                                        list.splice( i, 1 );\r
-                                       X.Callback._correct( queue[ INDEX_CALLBACK ] );\r
-                                       ( /* queue[ INDEX_COUNT ] <= next  || */ l === 1 ) && update();\r
-                                       queue.length = 0;\r
+                                       f = q[ INDEX_CALLBACK ];\r
+                                       f.kill && f.kill();\r
+                                       ( /* q[ INDEX_COUNT ] <= next  || */ l === 1 ) && update();\r
+                                       q.length = 0;\r
                                        break;\r
                                };\r
                        };\r
-               }\r
+               },\r
                \r
                // string only ie4-\r
-               ,_loop : X.UA.IE && X.UA.IE < 5 && (function(){\r
-                       var _loop = loop;\r
+               _loop : X.UA.IE && X.UA.IE < 5 && (function( r ){\r
                        loop = 'X.Timer._loop()';\r
-                       return _loop;\r
-               })()\r
+                       return r;\r
+               })( loop ),\r
                \r
-               ,requestFrame : function( args1, args2, args3 ){\r
+               requestFrame : function( args1, args2, args3 ){\r
                        var i = REQUEST_FRAME_LIST.length,\r
                                f;\r
                        i === 0 && ( requestID = ( enterFrame ? enterFrame( onEnterFrame ) : X.Timer.add( 16, 1, onEnterFrame ) ) );\r
@@ -140,17 +140,17 @@ X.Timer = ( function(){
                },\r
                cancelFrame : function( uid ){\r
                        var list = REQUEST_FRAME_LIST,\r
-                               i    = list.length,\r
-                               l    = i,\r
+                               l    = list.length,\r
+                               i    = l,\r
                                f;\r
                        for( ; i; ){\r
                                if( ( f = list[ --i ] ).uid < uid ) break;\r
                                if( f.uid === uid ){\r
                                        list.splice( i, 1 );\r
                                        delete f.uid;\r
-                                       X.Callback._correct( f );\r
-                                       l === 1 && cancelFrame ? cancelFrame( requestID ) : X.Timer.remove( requestID );\r
-                                       break;                                  \r
+                                       f.kill && f.kill();\r
+                                       l === 1 && ( cancelFrame ? cancelFrame( requestID ) : X.Timer.remove( requestID ) );\r
+                                       break;\r
                                };\r
                        };\r
                }\r