我正在尝试构建一个类似于unslider.js的滑块插件。我一直在寻找这个插件的代码一段时间(1周)。在unslider.js中有这个功能
_.play = function() {
_.t = setInterval(function() {
_.to(_.i + 1);
}, _.o.delay | 0);
};
现在,如果我执行以下操作:
_.play = function() {
_.t = setInterval(function() {
console.log(_.i); // new line added for testing
_.to(_.i + 1);
}, _.o.delay | 0);
};
当每个滑块通过时,我得到以下结果:
当第一张幻灯片滑动时,我得到:
0 //在控制台中。
当第二张幻灯片滑动时,我得到:
1 //在控制台中。
等等。
如果你想知道_是什么,那么它基本上是this
,它引用了fn.unslider()。
现在_.i在插件的第59行设置:line 59 of unslider.js
但是_.i在哪里递增?我只是看不到插件中的那部分。我已经运行了20多个测试,console.logging插件中的不同变量,但无法弄清楚这一部分。
继承了插件:fiddle。
如果有人可以指出我在插件中增加_.i的确切内容会很棒。
谢谢。
亚历山大答案 0 :(得分:1)
_.i
没有增加,它在to函数中设置(你的fiddler样本中的第339行)。
因此,Unslider将索引传递给_.to
函数,并且Unslider / Carousel ...显示I页面。在内部,插件保存索引。
// Move Unslider to a slide index
_.to = function (index, callback) {
...
_.i = index;
...
};
};