首页 > 解决方案 > 使用 javascript 更改 css 背景图像

问题描述

我有一个包含四个随机图像的图像阵列图像

我想 使用 javascript更改类内容的 css 样式的背景图像。

为此,我创建了buildimagechangeImage 并且 onclick 试图更改它。

我怎样才能实现它?

var images = ['https://picsum.photos/200/300/?random', 'https://picsum.photos/200/300/?random', 'https://picsum.photos/200/300/?random'];
var index = 0;

function buildImage() {
  var img = document.createElement('img');
  img.src = images[index];
  document.getElementById('content').style.background - image = (img);
}

function changeImage() {
  var img = document.getElementById('content').getElementsByTagName('img')[0];
  index++;
  index = index % 4; // This is for if this is the last image then goto first image I have 4 images so I've given 4 change accordingly 
  img.src = images[index];
}
.contents {
  width: 100px;
  height: 100px;
  border: 2px solid #FF0000;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  </style>
</head>

<body onload="buildImage();">
  <div class="contents" id="content"></div>
  <button onclick="changeImage()">NextImage</button>
</body>

</html>

标签: javascripthtmlcss

解决方案


变量/属性名称中不能有连字符(解释器会将其视为“减法”,但这没有意义)。JavaScript DOM API 中对应的属性background-imagebackgroundImage

function buildImage() {
  var img = document.createElement('img');
  img.src = images[index];
  document.getElementById('content').style.backgroundImage = (img);
}

推荐阅读