设置间隔和增量值
setinterval and incremential value
我尝试用几个 Div 名称“nouvelleoffre_1, nouvelleoffre_2, nouvelleoffre_3 ...
制作一个小幻灯片
为此我创建了 2 个函数 defilementNouvellesOffres() 和 DefilementNouvellesOffresTimer
第一个是在 html 主体的事件 onload() 中调用。第二个是使用设置的间隔计时器调用。
一切正常...但是 var timer 永远不会增加。我认为这是一个基本的范围问题。我尝试了几种方法来解决它(return,设置间隔中的计时器++。
感谢您的帮助解决。
这里是代码:
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' });
}
您有两个名为 timer
的变量。
一个是全局的,当你 timer = 1
.
时隐式声明
另一个是 defilementNouvellesOffresTimer
函数的局部变量,在参数中声明。
将全局值复制到局部值,然后增加局部值,同时保持全局值不变。
这正是您想要的:
<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>
我尝试用几个 Div 名称“nouvelleoffre_1, nouvelleoffre_2, nouvelleoffre_3 ...
制作一个小幻灯片为此我创建了 2 个函数 defilementNouvellesOffres() 和 DefilementNouvellesOffresTimer
第一个是在 html 主体的事件 onload() 中调用。第二个是使用设置的间隔计时器调用。
一切正常...但是 var timer 永远不会增加。我认为这是一个基本的范围问题。我尝试了几种方法来解决它(return,设置间隔中的计时器++。
感谢您的帮助解决。
这里是代码:
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' });
}
您有两个名为 timer
的变量。
一个是全局的,当你 timer = 1
.
另一个是 defilementNouvellesOffresTimer
函数的局部变量,在参数中声明。
将全局值复制到局部值,然后增加局部值,同时保持全局值不变。
这正是您想要的:
<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>