我删除了几段代码,以确定它在div
"wrapper
“中的位置以及它背后的内容。有更多的div
被设计用来显示其他东西,但它们没有"changeimage
“的类名。
<div id="wrapper">
<div id="content">
<div align="center" id="imagesbar">
<img class="changeimage" src="image1.jpg"/>
</div>
<div align="center" id="imagestext">
<h1 class="headertext"><strong>What we do.</strong></h1>
<br /><p class="circle" >Mowing</p>
<p class="circle">Lawn Care</p>
<p class="circle">Weed Removing</p>
</div>
</div>
</div>
和JavaScript:
var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg', 'image6.jpg', 'image7.jpg'];
var interval = setInterval(changeImage, 4000);
var index = 0;
function changeImage(){
//alert("changing image")
document.getElementsByClassName("changeimage").src = images[index];
index++;
}
行中的"document.getElementsByClassName("changeimage")
“是包含错误代码的那一行。我使用的浏览器( Chrome)似乎找不到类名"changeimage
“。我想用类名"changeimage
“将HTML img
上的src
标记更改为JavaScript中字符串数组中的不同位置,具体取决于索引。
发布于 2018-06-05 09:11:44
因为document.getElementsByClassName返回一个元素数组,所以您需要引用第0个元素。此外,必须重置索引以避免读取超出数组长度的内容
var images = ['image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg', 'image5.jpg', 'image6.jpg', 'image7.jpg'];
var interval = setInterval(changeImage, 4000);
var index = 0;
function changeImage(){
//alert("changing image")
document.getElementsByClassName("changeimage")[0].src = images[index]; // assuming only one classname
index++;
if(index >= images.length) {
index = 0;
}
}
https://stackoverflow.com/questions/50690629
复制相似问题