我正在尝试构建一个类似于 unslider.js 的 slider 插件。我已经研究这个插件的代码有一段时间了(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);
};
当每个 slider 通过时,我得到以下结果:
当第一张幻灯片滑动时,我得到:
0//在控制台中。
当第二张幻灯片滑动时,我得到:
1//在控制台中 .
等等。
如果您想知道 _ 是什么,那么基本上 this
指的是 fn.unslider()。
现在 _.i 设置在插件的第 59 行:line 59 of unslider.js
但是_.i在哪里递增?我只是在插件中看不到那部分。我已经运行了 20 多个测试,console.logging 插件中的不同变量,但无法弄清楚这部分。
这是正在运行的插件:fiddle 。
如果有人能指出插件中 _.i 的增量到底是什么,那就太好了。
谢谢。
亚历山大.
最佳答案
_.i
不会递增,它是在 to 函数中设置的(fiddler 示例中的第 339 行)。
因此,Unslider 将索引传递给 _.to
函数,并且 Unslider/Carousel... 显示 I 页面。在内部,插件保存索引。
// Move Unslider to a slide index
_.to = function (index, callback) {
...
_.i = index;
...
};
};
关于javascript - Unslider.js 中的变量递增但未显式递增,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28488629/