该数组不适用于我的图片输出

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中调用函数时也可以没有括号。

以上是关于该数组不适用于我的图片输出的主要内容,如果未能解决你的问题,请参考以下文章

Android onRequestPermissionsResult 不适用于我的片段

ArrayList.add 不适用于 AsyncTask

Facebook状态回调不适用于片段

C命名管道不适用于多进程

ViewPager 滑动不适用于 RecyclerView

验证不适用于引导文件上传