有没有人能给我解释一下这段jquery代码?我被变量current和next卡住了。他们实际检索的是什么?
function rotate() {
//Get the first image
var current = ($('#images .image.show')? $('#images .image.show') : $('#images .image:first'));
if ( current.length == 0 ) current = $('#images .image:first');
//Get next image, when it reaches the end, rotate it back to the first image
var next = ((current.next().length) ? ((current.next().hasClass('show')) ? $('#images .image:first') :current.next()) : $('#images .image:first'));
//Un-comment the 3 lines below to get the images in random order
//var sibs = current.siblings();
//var rndNum = Math.floor(Math.random() * sibs.length );
//var next = $( sibs[ rndNum ] );
//Set the fade in effect for the next image, the show class has higher z-index
next.css({opacity: 0.0}).addClass('show').animate({opacity: 1.0}, 1000);
//Hide the current image
current.animate({opacity: 0.0}, 1000).removeClass('show');
};发布于 2013-07-08 03:55:44
这些是ternary or conditional operators
它们等同于:
if($('#images .image.show')){
var current = $('#images .image.show');
}
else{
var current = $('#images .image:first');
}和
if(current.next().length){
if(current.next().hasClass('show')){
var next = $('#images .image:first');
}
else{
var next = current.next();
}
else{
var next = $('#images .image:first');
}https://stackoverflow.com/questions/17515695
复制相似问题