我使用循环多次更改背景图像。在第四张图像之后有一个空白的白色背景。有人能看出为什么会这样吗?
var images = ['img/icecream-993678_1280.png', 'img/little-cake-1426070_1920.png', "img/sweet-1104378_1280.jpg", "img/gummibarchen-1506173_1920.jpg"];
var count=0;
$(document).ready(function() {
$("#button").click(function(){
nFunct(images);
});
});
function nFunct(images) {
var bg = images[count];
$('body').css('background-image', 'url(' + bg + ')');
count = count + 1;
if (count > images.length) {
count = 0;
}
}
答案 0 :(得分:3)
您应该将if
语句最后更改为if (count > images.length - 1)
。长度不是从零开始的,因此images.length
是4.但是,最后一个图像的索引是3,所以在最后一个图像后显示count
增量为4,但是因为4不大于4 ,所以循环运行一次。一旦计数达到5,然后 if语句通过,count
重置为0.
使用(count >= images.length)
也可以。