该数组不适用于我的图片输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了该数组不适用于我的图片输出相关的知识,希望对你有一定的参考价值。
我试图用一个数组显示图片,所以我可以按延迟更改它,就像幻灯片一样。问题在于,只有第一张图片会被加载。当数组的计数器更改时,图片将不会加载。
图像的路径都是正确的
<!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()
通过name=''
来选择元素。这将返回使用该name
的元素数组,因此要选择特定元素,请使用从0开始的索引[index]
。请执行以下操作:
document.getElementsByName('bild')[0].src = bilder[p];
选择使用name='bild'
的第一个元素
此外,for
语句也没有用。您可以改为:
function BildAutoWeiter()
{
document.bild.src = bilder[p];
p++;
setTimeout(BildAutoWeiter, zeit);
}
您无需在函数名中加上引号,并且在setTimeout
中调用函数时也可以没有括号。
以上是关于该数组不适用于我的图片输出的主要内容,如果未能解决你的问题,请参考以下文章