首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >脚本没有在图像中循环

脚本没有在图像中循环
EN

Stack Overflow用户
提问于 2016-06-20 16:53:43
回答 2查看 75关注 0票数 0

因此,基本上应该有一个交通灯,它应该通过每个图像使用CSS幻灯片,但它不工作

代码语言:javascript
运行
复制
<head>
<script type="text/javascript">
var Picture1 = new Image()
Picture1.src = "Traffic_Red.png"
var Picture2 = new Image()
Picture2.src = "Traffic_Amber.png"
var Picture3 = new Image()
Picture3.src = "Traffic_Green.png"
var Picture4 = new Image()
Picture4.src = "Traffic_Amber.png"
</script>
</head>
<body>
<p><img src="Traffic_Red.png" width="500" height="300" name="slide" /></p>




<script type="text/javascript">
        var step=1;
        function slideit()
        {
            document.images.slide.src = eval("image"+step+".src");
            if(step<4)
                step++;
            else
                step=1;
            setTimeout("slideit()",3000);
        }
        slideit();
</script>
</body>
EN

回答 2

Stack Overflow用户

发布于 2016-06-20 17:11:16

+step+(“image”.src“);

因此,您正在尝试访问image1.src

变量Picture1 =新图像()

…但你叫它Picture1而不是image1

您只需要正确地指定变量名即可。

也就是说,使用eval创建变量是很糟糕的。只需使用数组即可。

为了支持id,图像的name属性已被弃用。

setTimeout传递一个函数要比传递一个要计算的字符串更好。

代码语言:javascript
运行
复制
<p><img src="Traffic_Red.png" width="500" height="300" id="slide" /></p>

<script>
    var pictures = [new Image(), new Image(), new Image(), new Image()];
    pictures[0].src = "Traffic_Red.png";
    pictures[1].src = "Traffic_Amber.png";
    pictures[2].src = "Traffic_Green.png";
    pictures[3].src = "Traffic_Amber.png";


    var step=0;
    function slideit() {
        document.getElementById('slide").src =  pictures[step].src;
        step++;
        if (step >= 4) {
            step = 0;
        }
        setTimeout("slideit", 3000);
    }

    slideit();
</script>
票数 0
EN

Stack Overflow用户

发布于 2016-06-20 17:23:12

只需将变量名从Picture1、Picture2、Picture3重命名为...对image1,image2,image3同样是Ex;

替换:

代码语言:javascript
运行
复制
<head>
<script type="text/javascript">
  var Picture1 = new Image()
  Picture1.src = "Traffic_Red.png"
  var Picture2 = new Image()
  Picture2.src = "Traffic_Amber.png"
  var Picture3 = new Image()
  Picture3.src = "Traffic_Green.png"
  var Picture4 = new Image()
  Picture4.src = "Traffic_Amber.png"
</script>
</head>

通过以下方式:

代码语言:javascript
运行
复制
<head>
    <title>Test</title>
    <script type="text/javascript">
        var image1 = new Image()
        image1.src = "Traffic_Red.png"
        var image2 = new Image()
        image2.src = "Traffic_Amber.png"
        var image3 = new Image()
        image3.src = "Traffic_Green.png"
        var image4 = new Image()
        image4.src = "Traffic_Amber.png"
    </script>
</head>

您的脚本如下所示:

代码语言:javascript
运行
复制
<script type="text/javascript">
        var step=1;
        function slideit()
        {
            document.images.slide.src = eval("image"+step+".src");
            step++;
            if (step > 4) {
                step = 1;
            }
            setTimeout("slideit()",3000);
        }
        slideit();
</script>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37918267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档