我是网络编程的新手,对三元运算符的处理不多。我找到了一些jquery滑块的示例代码,但我需要对其进行编辑,以便在用户将鼠标移到横幅上时停止。我希望有人可以帮助我将下面的代码转换成一组简单的if和else if语句,我更习惯于处理它。提前谢谢。
//Get next image, when it reaches the end, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('div.rotator ul li:first') :current.next()) : $('div.rotator ul li:first'));
答案 0 :(得分:2)
不使用三元运算符的等价物是:
var next;
if (current.next().length) {
if (current.next().hasClass('show')) {
next = $('div.rotator ul li:first')
}
else {
next = current.next();
}
}
else {
next = $('div.rotator ul li:first'));
}
答案 1 :(得分:1)
您应该知道三元运算符采用以下格式:
condition ? if true : else
以这种方式写下来并尝试翻译它:
var next = ((current.next().length)
?
((current.next().hasClass('show'))
?
$('div.rotator ul li:first')
:
current.next())
:
$('div.rotator ul li:first'));
现在您可以像if / else块一样将其可视化,只需更改语法即可。
var next;
if (current.next().length) {
if (current.next().hasClass('show')) {
next = $('div.rotator ul li:first');
} else {
next = current.next());
}
} else {
next = $('div.rotator ul li:first');
}
答案 2 :(得分:0)
以下是if
/ else
中的等效内容:
var next;
if (current.next.length) {
if (current.next().hasClass('show')) {
next = $('div.rotator ul li:first');
} else {
next = current.next();
}
} else {
next = $('div.rotator ul li:first');
}