我在我的jQuery插件中使用了这一行。但是我不明白这行是做什么的。下面是插件代码。
请简要解释一下。
(function ($) {
$.simpleSlideShow = function (selector, settings) {
// settings
var config = {
'delay': 2000,
'fadeSpeed': 500
};
if (settings) { $.extend(config, settings); }
// variables
var obj = $(selector);
var img = obj.children('img');
var count = img.length;
var i = 0;
// show first image
img.eq(0).show();
// run slideshow
setInterval(function () {
img.eq(i).fadeOut(config.fadeSpeed);
i = (i + 1 == count) ? 0 : i + 1;
img.eq(i).fadeIn(config.fadeSpeed);
}, config.delay);
return this;
};
})(jQuery);
答案 0 :(得分:6)
这是简单的Conditional (ternary) Operator,与
相同if(i + 1 == count){
i = 0;
}
else{
i = i+1;
}
只是建议它可能只是
i = (i+1) % count;
答案 1 :(得分:4)
英文,意思是: 如果i + 1等于count,则i = 0。否则,i = i + 1。
这是许多语言的简写符号。
答案 2 :(得分:2)
a ? b : c
语法是三元运算符。
这与
if(i + 1 == count)
i = 0;
else
i = i + 1;
在此处查看更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator
答案 3 :(得分:2)
这是简单的三元运算符,正如家伙们已经说过的那样,但我会改用它:i = ++i % count
。
答案 4 :(得分:1)
这是if
和else
的缩写形式。本声明的含义
i = (i + 1 == count) ? 0 : i + 1;
与
相同if (i + 1 == count) {
i = 0;
} else {
i = i+1;
}