var x = 0;
var pics = ['strawberry.png', 'raspberry.png', 'blueberry.png'];
function changeBackground (){
console.log('change background');
var b = document.getElementById('mainbody');
b.style.backgroundImage = 'url('+pics[(x++) % pics.length]+')';
}
Я бы предложил использовать переменную-счетчик, как показано выше, чтобы отслеживать количество вызовов функции и соответственно обновлять фон.
Проблема, с которой сталкиваются, заключается в том, что когда JavaScript изменяет URL-адрес фонового изображения, полный абсолютный путь сохраняется как вычисленное значение в CSS. Однако при сравнении с ним позже этот абсолютный путь не совпадает с тем, который был первоначально использован. Очевидно, что другие атрибуты, такие как font-size
, не будут сталкиваться с такой же проблемой.