我试图改变不同的背景,通过一个图像数组循环,并每5秒计时。jquery循环通过不同的背景
这里是我的代码:
function changeBG(){
//array of backgrounds
var array = ["test.jpg", "test2.jpg", "test3.jpg",];
for (var i=0, len=array.length; i<len; ++i){
$('.round-mask').css('background-image', 'url("images/work/'+array[i]+'")');
}
}
window.setInterval(changeBG(), 5000);
这不是工作,我可以看到它是循环的,但我总是得到第三图像。
有什么想法?
在此先感谢。
莫罗
for循环循环虽然阵列,并取代背景图片随着新的一转,使最后的图像总是出现。 – 2011-05-12 12:22:48
不要使用%3,请使用%array.length,谢谢,这是我的不好:) – Maidot 2011-05-12 12:52:20
小心你如何调用'setInterval'你应该传递一个函数的引用,一个回调函数。目前,如果你传递'changeBG()',它只会在你传递它时运行该函数。如果您将其作为回调'changeBG'传递,它将在每个时间间隔运行该函数。 [看到这里的区别](http://jsfiddle.net/hAxHt/1) – Scoobler 2011-05-12 13:00:48