Javascript 阵列无法与我的图片输出一起工作
我试着用一个数组来显示图片,这样每次延迟我都可以更改它,有点像幻灯片。问题是,只会加载第一张图片。当数组的计数器更改时,图片将无法加载 图像的路径都是正确的Javascript 阵列无法与我的图片输出一起工作,javascript,html,Javascript,Html,我试着用一个数组来显示图片,这样每次延迟我都可以更改它,有点像幻灯片。问题是,只会加载第一张图片。当数组的计数器更改时,图片将无法加载 图像的路径都是正确的 <!DOCTYPE html>`enter code here` <html lang="en"> <head> <meta charset="UTF-8"> <title>Test2</title> <script>
<!DOCTYPE html>`enter code here`
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Test2</title>
<script>
var bilder = [];
var zeit = 3000;
var p = 0;
bilder[0] = "../Bilder/Bild1.jpg";
bilder[1] = "../Bilder/Bild2.jpg";
bilder[2] = "../Bilder/Bild3.jpg";
bilder[3] = "../Bilder/Bild4.jpg";
function BildAutoWeiter()
{
document.bild.src = bilder[p];
for( var i=0; i<= bilder.length; i++)
{
if(i <= bilder.length)
{
p++;
}
else
{
i = 0;
}
}
setTimeout("BildAutoWeiter()", zeit);
}
</script>
</head>
<body onload="BildAutoWeiter()">
<div>
<img name ="bild" width="100%" height="50%">
</div>
</body>
</html>
您需要使用getElementsByName来选择名称为的元素。它返回使用该名称的元素数组,因此要选择一个特定的数组,请使用从0开始的索引[index]。改为这样做:
document.getElementsByName('bild')[0].src = bilder[p];
选择使用name='bild'的第一个元素
另外,for语句有点无用。你可以改为:
function BildAutoWeiter()
{
document.bild.src = bilder[p];
p++;
setTimeout(BildAutoWeiter, zeit);
}
在setTimeout中调用函数时,不需要将函数名放在引号中,也不能用括号括起来。事实上,它与我使用的方法配合得很好。当我把它换成你的,它还是一样的result@CoreIce我在您的代码中发现了另一个错误,我正在编辑我的答案:另外,说您需要使用该选择器。@CoreIce我在这个答案中添加了您的另一个错误:您没有将字符串传递给setTimeout,只传递给SetTimeOutBillDauthoweter,zeit;