Javascript 阵列中的随机图像问题

Javascript 阵列中的随机图像问题,javascript,arrays,image,random,Javascript,Arrays,Image,Random,var-eieren=0; var eieren=Math.floorMath.random*4+1; var imgaray=['img/ei1.png'、'img/ei2.png'、'img/ei3.png'、'img/ei4.png'; imgaray.length; var eiImg=imgaray[eieren-1]; console.log eiImg; document.getElementsByTagName“img”[0].src=eiImg; document.getEle

var-eieren=0; var eieren=Math.floorMath.random*4+1; var imgaray=['img/ei1.png'、'img/ei2.png'、'img/ei3.png'、'img/ei4.png'; imgaray.length; var eiImg=imgaray[eieren-1]; console.log eiImg; document.getElementsByTagName“img”[0].src=eiImg; document.getElementsByTagName“img”[0]。添加EventListener单击,更改图像; var计数器=eieren-1; 函数变换图像 { //如果这不是最后一个图像,请加载新图像 如果计数器 文件
我认为您的问题在于更改映像中的计数器+。尝试将其设置为eiImg而不是[0] 大概是这样的:

var eieren = 0;
var eieren = Math.floor((Math.random() * 4) + 1);

var imgArray = [ 'img/ei1.png' , 'img/ei2.png' , 'img/ei3.png', 'img/ei4.png' ];


    imgArray.length;

    var eiImg = imgArray[eieren - 1];

    console.log( eiImg );

    document.getElementsByTagName( 'img' )[0].src = eiImg;
    document.getElementsByTagName( 'img' )[0].addEventListener( "click", changeImage );
    var counter = eieren - 1;

    function changeImage()
    {
        //Load new image if this is not the last image
        if ( counter < imgArray.length - 1 )
        {
            document.getElementsByTagName( 'img' )[0].src = imgArray[ ++counter % imgArray.length];
        }
    }

检查我的最新答案

getElementById只接受一个参数,即元素的ID?如果您添加HTML代码将更容易帮助您…如果您制作一个JSFIDLE,它将非常棒!谢谢你的回答。我试着把它改成eiImg,但是当我点击图片时,它失败了,没有显示任何东西。是的,当然。为了反击,我被分配了一个字符串。我已经更新了你的答案。代码的问题是,当加载页面时,计数器变量设置为0,并且它从0开始递增。解决方案是将计数器变量设置为用于显示图像的值索引。感谢您的解释。我复制了你的代码,但它不起作用。它不再显示任何图像。好吧,当你看到最后一张图像时,它不再可点击,这太棒了!但当我看到例如img2时,它直接进入最后一张图像,而不是img3,然后进入img4。。但是我们已经取得了进步!非常感谢。