我正在使用以下代码来创建基本的图像旋转功能,并且我想更好地了解它的工作原理。我得到了大部分内容,但是旋转函数中使用“严格”等于&三元运算符的行,即 (i === (imgs.length -1) ) ?i=0 : i++ ;) 有点令人困惑。我知道它正在增加计数器,但在那之前它在做什么?
var i, imgs, pic;
function rotate()
{
pic.src = imgs[i] ;
(i === (imgs.length -1) ) ? i=0 : i++ ;
setTimeout( rotate, 2500 );
}
function init()
{
pic = document.getElementById("pic");
imgs = [ 'images/shimano_offer.jpg', 'images/kids_bikes1.jpg', 'images/cycle_to_work.jpg' ] ;
var preload= new Array();
for( i=0; i< imgs.length; i++ )
{
preload[ i ] = new Image();
preload[ i ].src = imgs[ i ];
}
i=0;
rotate();
}
代码来自http://ineasysteps.com/products-page/all_books/javascript-in-easy-steps-4th-edition/