我正在尝试运行这段代码,但它说a
变量是undefined
,尽管你可以看到我已经非常清楚地定义了它,它必须是一个全局变量每次循环后都会改变
var a = 1;
var b = 2;
window.setInterval(function(){
alert(a);
if(a == 1){
document.getElementById('pic2').style.opacity = '1';
document.getElementById('pic1').style.opacity = '0';
var b = 1;
var a = 2;
}
if(a == 2){
document.getElementById('pic2').style.opacity = '0';
document.getElementById('pic1').style.opacity = '1';
var b = 2;
var a = 1;
}
}, 2000);
答案 0 :(得分:7)
这是因为您正在重新声明您的变量。从setInterval函数中删除变量可以解决此问题。
var a = 1;
var b = 2;
window.setInterval(function(){
alert(a);
if(a == 1){
document.getElementById('pic2').style.opacity = '1';
document.getElementById('pic1').style.opacity = '0';
b = 1;
a = 2;
}
if(a == 2){
document.getElementById('pic2').style.opacity = '0';
document.getElementById('pic1').style.opacity = '1';
b = 2;
a = 1;
}
}, 2000);