2015-02-09 81 views
0

嘿傢伙我一直在試圖解構一個名爲Unslider.js的jquery插件。我制定了它的大部分,但有一個林EOF代碼小的困難:在unslider.js中設置true或false

對插件的154線,有使用if條件,做了檢查條件:

檢查插件線:line 154

的條件如下:

if (_.t) { 
    _.stop(); 
    _.play(); 
} 

什麼上述條件顯然正在做的是,檢查是否_.t是真實的,如果是真的,它運行的是它裏面列出的2種功能。

現在這很容易理解,但是當去插入代碼時,我沒有看到_.t的值被設置爲true或false,_.t被引用的唯一其他位置在193行和線200,看下面:

193行:

_.play = function() { 
      _.t = setInterval(function() { // 193 
       _.to(_.i + 1); 
      }, _.o.delay | 0); 
     }; 

線200:

_.stop = function() { 
      _.t = clearInterval(_.t); // line 200 
      return _; 
     }; 

可有人點出其中究竟是_.t的值被設置爲 對或錯 ?整個插件代碼鏈接here

謝謝你。

Alexander。

回答

1

_.t = setInterval(…返回intervalID,這是不未定義,並且線:

_.t = clearInterval(_.t); 

使得t_.t未定義,作爲clearInterval()返回值是未定義的,所以:

if (_.t) { 
    _.stop(); 
    _.play(); 
} 

檢查看看_.t是否未定義並繼續進行。這裏this表示爲_

+0

感謝你的回答,你確定嗎? ,是的,我知道_是這個意思。 – 2015-02-09 11:03:22

+0

@AlexanderSolonik是的,我很確定.. :) – 2015-02-09 11:05:06

+0

只是一個添加的問題,所以你基本上說_.stop()將_.t變成false,_.play()將_.t變成true ? – 2015-02-10 09:19:14

相關問題