jquery代码说明

时间:2013-07-07 19:50:18

标签: jquery slideshow

有没有人可以解释我这段jquery代码?我坚持使用变量currentnext。他们实际检索的是什么?

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');

};

1 个答案:

答案 0 :(得分:1)

那些是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');
}