Я пытаюсь изменить атрибут изображения src
, а затем восстановить значение по умолчанию с помощью метода setInterval()
, но кажется, что если я использую переменную внутри функции, она не работает должным образом и должна быть вне функция, почему переменное значение не изменится внутри функции?изменение переменной внутри функции
var Img1 = document.getElementById('img1');
setInterval(function(){
var boolean= true;
if(boolean){
Img1.src = "pic1.jpg";
}else{
Img1.src = "default.jpg";
}
boolean= !boolean;
} , 3000);
// This one work properly!
var Img1 = document.getElementById('img1');
var boolean= true;
setInterval(function(){
if(boolean){
Img1.src = "pic1.jpg";
}else{
Img1.src = "default.jpg";
}
boolean= !boolean;
} , 3000);
Потому что вы его повторного объявления каждый раз, когда вы запускаете функцию. Самая первая строка в вашей функции - 'boolian = true', поэтому она будет устанавливать значение' true'. –
Btw, более короткий способ сделать это: 'boolean^= true;' – 4castle
@ 4castle, который, кажется, всегда всегда задает 'boolean''' 0', я что-то упускаю? –