2015-02-09 42 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

相关问题