我有一个函数change_background()
,我从document.onload
通过setInterval( change_background(), 5000 );
来调用我的标题背景每隔5秒改变一次。
在我写作的时候,我的功能是:
如何在每次调用时增加num
var?
function change_background(){
var element = document.getElementsByClassName('top');
element[0].style.backgroundImage = 'url( "media/image' + num + '.jpg" )';
//when num gets greater than the amount of images
if( num > 2 ){
num = 0;
}
}//end change_background()
我只是在努力实现这种效果。这甚至可能是我做这件事的方式,我对此采取了错误的方式吗?
答案 0 :(得分:1)
试试这个:
var num = 0; // declaration
function change_background(){
var element = document.getElementsByClassName('top');
element[0].style.backgroundImage = 'url( "media/image' + num + '.jpg" )';
num++;
//when num gets greater than the amount of images
if( num > 2 ){
num = 0;
}
}//end change_background()
答案 1 :(得分:0)
呀。有可能的。你可以让它增加你的数量。
echo Did You Enjoy?
echo 1. YES!!
echo 2. Not at all :(
set /p enjoy=Your answer here (1-2):
if %enjoy%=1 goto thanks
if %enjoy%=2 goto why
:thanks
cls
echo Thank you! if there were any problems please email me
pause
goto exit
:why
echo Can you please take the time to email me any problems you had with the program Thanks!
pause
goto exit
:exit
cls
echo test
答案 2 :(得分:0)
是的,它可以,但是该变量应该与setInterval在同一个上下文中,如下所示:
b = {a :1}; setTimeout(function(){ b.a++; console.log(b)}, 1000)
如果你想调用一个函数,那么num需要是全局的,这样函数才能访问变量。
由于incrementB
无法访问变量b
:
function incrementB() { return b++; }
function someFunc() { var b = 3; }
setInterval( incrementB, 500 );
这样可行,因为b是全局的(但试着避免这种情况):
var b = 0;
function incrementB() { return b++; }
function setValueToB() { b = 3; }
setInterval( incrementB, 500 );
答案 3 :(得分:0)
这是我的尝试,因为我喜欢避免全局变量。这使计数器UIPageViewController
保持在一个闭包中,num
返回的函数可以访问该闭包。
change_background