每当我尝试单击图像时,图像都会更改,但不会显示数组中的下一个图像

<!doctype html>
<html>
    <head>
        <title>
            slides
        </title>
        <script type="text/javascript">
            function nextslide(){
                var images = new Array()
                images[0]= "home.jpg"
                images[1]= "left.jpg"
                images[2]= "right.jpg"
                var currentpic=0
                var lastpic= images.lenth-1;
             if (currentpic =lastpic)
             {
                currentpic=0;
                document.getElementById('slide').src = images[currentpic];
             }else
              {
                currentpic++;
                document.getElementById('slide').src = images[currentpic];
              }
            }
        </script>
    </head>
        <body>
            <img src="home.jpg" id="slide" onclick="nextslide()">
        </body>

</html>


帮助将不胜感激。
感谢您的帮助。

最佳答案

您的代码有几处错误。这是固定版本:

<!doctype html>
<html>
    <head>
        <title>slides</title>
        <script type="text/javascript">
            var images = new Array();
            images[0] = "home.jpg";
            images[1] = "left.jpg";
            images[2] = "right.jpg";
            var currentpic = 0;
            var lastpic = images.length-1;
            function nextslide()
            {
                if (currentpic == lastpic)
                {
                    currentpic = 0;
                    document.getElementById('slide').src = images[currentpic];
                }
                else
                {
                    currentpic++;
                    document.getElementById('slide').src = images[currentpic];
                }
            }
        </script>
    </head>
    <body>
        <img src="home.jpg" id="slide" onclick="nextslide()">
    </body>
</html>




怎么了?


var lastpic= images.lenth-1;您在g中缺少一个length
if (currentpic =lastpic)要检查var1是否与var2相同,需要使用==而不是=
您缺少几个分号。
您应该在函数之外声明currentpicimageslastpic,以使其实际上将图像设置为下一张图像。




尝试调试自己

始终检查浏览器的开发者控制台是否有错误。

10-04 15:23