javascript - 使用 setInterval 时 undefined variable

标签 javascript html scope setinterval

我正在尝试建立一个网站,其背景每五秒切换一次图像。我使用 javascript 来实现这一点。经过一番摆弄之后,我偶然发现了似乎是范围问题,因为它一直告诉我 var imageCount 未定义。我对 javascript 和 stackoverflow 有点新手,我很感激我能得到的任何帮助。

html

<body>

    <div id="overlay">




    </div>

    <script>




        window.setInterval(execute, 5000);

        var imageCount;

        function execute() {

            console.log("bla");





                if(imageCount == 0){
                    document.body.style.backgroundImage = "url('huis1.jpg')";
                    console.log("huis1");
                }

                else if(imageCount == 1){
                    document.body.style.backgroundImage = "url('huis2.jpg')";
                    console.log("huis2");
                }

                else if(imageCount == 2){
                    document.body.style.backgroundImage = "url('huis3.jpg')";
                    console.log("huis3");
                    imageCount = 0;
                }

                console.log(imageCount);



        }

    </script>

</body>

我也想将 CSS 发布到此文件,但如果我的生活依赖于它,我不知道该怎么做。

最佳答案

如评论中所述,您必须初始化变量。 您还必须在每次迭代时增加索引,如果您只更改背景,则可能不需要 if

var imageCount = 0; // initialise your index variable

function execute() {
  // increment your index if value is less than 2 otherwise set it to 0
  imageCount = (imageCount >= 2) ? 0 : ++imageCount;
  // concate your image name with the index value
  document.body.style.backgroundImage = "url('huis" + (imageCount + 1)+ ".jpg')";
}

window.setInterval(execute, 5000);

关于javascript - 使用 setInterval 时 undefined variable ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29572033/

相关文章:

javascript - Jquery 选择突出显示文本的值

javascript - 发送时如何在不打开新页面的情况下使用php/ajax发送表单

javascript - Uncaught Error : Every row given must be either null or an array

javascript - Mongoose 对象 :javascript map function not working on adding new keys

javascript - jQuery Mobile : document ready vs.页面事件

PHP 变量作用域

javascript - 通过 x 和 y 绘图线、highcharts 将文本添加到生成的象限区域

javascript - 以下 JavaScript 构造是否称为闭包?

javascript - 如何在 JavaScript 中创建全局变量?

javascript - 如何在绑定(bind)顶点数组对象和缓冲区数据以在渲染时动态绘制时编写通用的 webgl 渲染循环?