我正在尝试建立一个网站,其背景每五秒切换一次图像。我使用 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/