html制作手动控制背景图片转换
时间: 2023-08-17 18:35:57 浏览: 84
基于html的图片手动切换和自动切换
5星 · 资源好评率100%
可以使用以下 HTML 和 JavaScript 代码来制作手动控制背景图片转换的效果:
```html
<!DOCTYPE html>
<html>
<head>
<title>手动控制背景图片转换</title>
<style>
body {
background-image: url("image1.jpg");
background-size: cover;
background-position: center;
height: 100vh;
margin: 0;
}
button {
position: absolute;
top: 50%;
transform: translateY(-50%);
font-size: 24px;
padding: 8px 16px;
border: none;
background-color: #fff;
cursor: pointer;
}
button.prev {
left: 0;
}
button.next {
right: 0;
}
</style>
</head>
<body>
<button class="prev" onclick="prevImage()">❮</button>
<button class="next" onclick="nextImage()">❯</button>
<script>
// 定义要循环的图像数组
var images = [
"image1.jpg",
"image2.jpg",
"image3.jpg",
"image4.jpg"
];
// 定义当前显示的图像的索引
var currentImageIndex = 0;
// 获取前进和后退按钮的 DOM 元素
var prevButton = document.querySelector(".prev");
var nextButton = document.querySelector(".next");
// 定义 prevImage 函数,用于显示上一张图像
function prevImage() {
// 将当前图像的索引减 1
currentImageIndex--;
// 如果当前图像的索引小于 0,则将其设置为最后一张图像的索引
if (currentImageIndex < 0) {
currentImageIndex = images.length - 1;
}
// 更新背景图片
document.body.style.backgroundImage = "url('" + images[currentImageIndex] + "')";
// 如果当前图像是第一张图像,则禁用前进按钮
if (currentImageIndex == 0) {
prevButton.disabled = true;
}
// 如果当前图像不是最后一张图像,则启用后退按钮
if (currentImageIndex < images.length - 1) {
nextButton.disabled = false;
}
}
// 定义 nextImage 函数,用于显示下一张图像
function nextImage() {
// 将当前图像的索引加 1
currentImageIndex++;
// 如果当前图像的索引大于最后一张图像的索引,则将其设置为第一张图像的索引
if (currentImageIndex > images.length - 1) {
currentImageIndex = 0;
}
// 更新背景图片
document.body.style.backgroundImage = "url('" + images[currentImageIndex] + "')";
// 如果当前图像是最后一张图像,则禁用后退按钮
if (currentImageIndex == images.length - 1) {
nextButton.disabled = true;
}
// 如果当前图像不是第一张图像,则启用前进按钮
if (currentImageIndex > 0) {
prevButton.disabled = false;
}
}
// 如果当前图像是第一张图像,则禁用前进按钮
if (currentImageIndex == 0) {
prevButton.disabled = true;
}
// 如果当前图像是最后一张图像,则禁用后退按钮
if (currentImageIndex == images.length - 1) {
nextButton.disabled = true;
}
</script>
</body>
</html>
```
在这个例子中,我们定义了一个包含多张图像的数组,使用 JavaScript 函数来控制图像的切换,以及使用 CSS 样式表来定义前进和后退按钮的样式。在页面加载时,我们将第一张图像设置为背景图片,并禁用前进按钮(因为第一张图像是当前显示的图像)。然后,当用户单击前进或后退按钮时,我们使用 JavaScript 函数来更新背景图片和按钮的状态。
阅读全文