jquery - 我想每 5 秒更改一次 div 的背景图像
问题描述
嗨,我正在尝试每 5 秒更改一次 div 的背景图像并重复这些图像。使用简单的 html,例如具有类和 id 的 div。
<body>
<div class="background-rep" style="max-width:500px">
<p>The slides </p>
</div>
<script>
var myIndex = 0;
carousel();
function carousel() {
var i;
var y =["img_rr_01.jpg" , "img_rr_02.jpg" , "img_rr_03.jpg", "img_rr_04.jpg" ];
var x = document.getElementsByClassName("background-rep");
for (i = 0; i < y.length; i++) {
x.style.backgroundImage = url(y[i])";
}
myIndex++;
if (myIndex > y.length) {myIndex = 1}
x.style.backgroundImage = "block";
setTimeout(carousel, 9000);
}
</script>
</body>
我尝试了stackoverflow中的一些解决方案,但它们效果不佳谢谢
解决方案
这里有几个问题。首先:获取元素应该是
var x = document.querySelector('.background-rep');
接下来,您的循环当前会导致设置数组中的最后一个图像,以及不正确的语法。我想你正在寻找:
x.style.bacgkroundImage = "url(" + y[myIndex] + ")";
您还应该删除该行x.style.background = "block"
,因为这将覆盖新设置的背景图像。
同样对于 5 秒的间隔,您SetTimeout
应该是 5000,因为它以毫秒为单位:
setTimeout(carousel, 5000);
推荐阅读
- node.js - 为表 Postgres 续集缺少的 FROM 子句条目
- html - 带有 CSS 编码的 HTML
- react-native - 回答另一个调查问题回来后,我需要显示已检查的项目
- python - How to select multiple rows that have certain values in numpy?
- javascript - 将初始化对象传递给 setState React
- java - Array.copyOfRange 方法无法按预期运行并返回一个奇怪的字符串
- python - 如何在 python 中将叶图 html 读回叶图对象?
- node.js - Angular 应用程序无法连接到 NodeJS/SocketIO 后端 cors 问题?
- pine-script - 某些股票代码的 PineScript?
- laravel - 在 laravel 中更改迁移值