Как сделать, чтобы по нажатию на кнопку менялась фоновая картинка в body?

У меня есть 3 картинки и кнопка. По нажатию на кнопку нужно, чтобы фоновая картинка элемента body менялась.


Ответы (1 шт):

Автор решения: Dev18

вот так можно currentImageIndex = (currentImageIndex + 1) увеличивая индекс при клике

const images = [
  'https://i.sstatic.net/M6nBQE2p.jpg',
  'https://i.sstatic.net/c8kA4NgY.png',
  'https://i.sstatic.net/yuEEeM0w.jpg'
];


let currentImageIndex = 0;
const changeBgBtn = document.getElementById('changeBgBtn');
changeBgBtn.addEventListener('click', function() {
  //при клике увеличиваем индекс
  currentImageIndex = (currentImageIndex + 1) % images.length;

  //меняем картинку
  document.body.style.backgroundImage = `url(${images[currentImageIndex]})`;
  document.body.style.backgroundSize = '50%';
  document.body.style.backgroundPosition = 'center';
  document.body.style.backgroundRepeat = 'no-repeat';
});
body {
  height: 100vh;
  background-image: url('https://i.sstatic.net/M6nBQE2p.jpg');
  background-size: 50%;
  background-position: center;
  background-repeat: no-repeat;
}

button {
  position: absolute;
  top: 20px;
  left: 20px;
  padding: 10px 20px;
  font-size: 16px;
}
<button id="changeBgBtn">Сменить фон</button>

→ Ссылка