我尝试使用多个Div名称" nouvelleoffre_1,nouvelleoffre_2,nouvelleoffre_3 ...
进行小型幻灯片放映为此我创建2函数defilementNouvellesOffres()和DefilementNouvellesOffresTimer
第一个是在html体的onload()事件中调用。第二个是使用设置间隔计时器调用。
一切都完美无缺......但var 计时器永远不会增加。我认为这是一个基本的范围问题。我尝试了几个方法来解决它(返回,在设置间隔中定时器++。
感谢您帮助解决问题。
这里是代码:
body.onload="defilementNouvellesOffres();"
function defilementNouvellesOffres(){
div1 = "nouvelleoffre_";
timer = 1;
timerdefilement = setInterval(defilementNouvellesOffresTimer, 2000, div1, this.timer);
}
function defilementNouvellesOffresTimer(div1 , timer){
//alert (timer);
Effect.Fade(div1 + timer, { delay : 2 });
timer++;
//alert (timer);
Effect.Appear(div1 + timer, { queue: 'end' });
}
答案 0 :(得分:1)
您有两个名为timer
的变量。
一个是全局的,并在timer = 1
时隐式声明。
另一个是defilementNouvellesOffresTimer
函数的本地函数,并在参数中声明。
将全局值的值复制到本地值,然后增加本地值,同时保持全局不变。
答案 1 :(得分:0)
这完全符合您的要求:
<body onload="">
<script type="text/javascript">
function defilementNouvellesOffres(){
var SELF = {}
SELF.div1 = "nouvelleoffre_";
SELF.timer = 1;
this.defilementNouvellesOffresTimer = function(){
Effect.Fade( SELF.div1 + SELF.timer, { delay : 2 });
SELF.timer++;
Effect.Appear(SELF.div1 + SELF.timer, { queue: 'end' });
}
this.startInterval = function(){
SELF.timerdefilement = setInterval("my_timer_function.defilementNouvellesOffresTimer();", 2000);
}
this.clearInterval = function(){
clearInterval(SELF.timerdefilement);
}
}
var my_timer_function = new defilementNouvellesOffres();
my_timer_function.startInterval();
</script>