Javascript clearInterval()未清除setInterval()
此代码有什么问题? 时间间隔不清楚,我已经想尽一切办法了 我已经搜索了其他问题,但找不到答案,也有类似的问题,但解决方案在这里不起作用Javascript clearInterval()未清除setInterval(),javascript,intervals,clearinterval,Javascript,Intervals,Clearinterval,此代码有什么问题? 时间间隔不清楚,我已经想尽一切办法了 我已经搜索了其他问题,但找不到答案,也有类似的问题,但解决方案在这里不起作用 var opacity = 1; var opac = opacity * 100; var fadeInterval; var fadeTiming = fade_timing / 100; function fadeOut() { console.log("fadeOut called!"); opac = opac - 1; opacity
var opacity = 1;
var opac = opacity * 100;
var fadeInterval;
var fadeTiming = fade_timing / 100;
function fadeOut() { console.log("fadeOut called!");
opac = opac - 1;
opacity = opac / 100; console.log("fading... opacity: " + opacity);
image.style.opacity = opacity;
if(opac < 0) {setInterval(fadeIn, fadeInterval)};
};
function fadeIn() { console.log("fadeIn called!");
opac = opac + 1;
opacity = opac / 100; console.log("fading... opacity: " + opacity);
image.style.opacity = opacity;
if(opac > 100) {clearInterval(fadeInterval); console.log("clearInterval")};
};
function fade() { console.log("fade called!");
fadeInterval = setInterval(fadeOut, fadeTiming);
};
var不透明度=1;
var opac=不透明度*100;
var fadeInterval;
var fadeTiming=淡入时间/100;
函数fadeOut(){console.log(“fadeOut已调用!”);
opac=opac-1;
不透明度=opac/100;console.log(“褪色…不透明度:+opacity”);
image.style.opacity=不透明度;
if(opac<0){setInterval(fadeIn,fadeInterval)};
};
函数fadeIn(){console.log(“调用了fadeIn!”);
opac=opac+1;
不透明度=opac/100;console.log(“褪色…不透明度:+opacity”);
image.style.opacity=不透明度;
如果(opac>100){clearInterval(fadeInterval);console.log(“clearInterval”)};
};
函数fade(){console.log(“调用了fade!”);
fadeInterval=设置间隔(淡出、淡出);
};
var不透明度=1;
var opac=不透明度*100;
var fadeInterval;
var fadeTiming=淡入时间/100;
函数fadeOut(){console.log(“fadeOut已调用!”);
opac=opac-1;
不透明度=opac/100;console.log(“褪色…不透明度:“+opacity+”。opac:“+opac”);
image.style.opacity=不透明度;
如果(opac<0){clearInterval(fadeInterval);fadeInterval=setInterval(fadeIn,fadeInterval)};
};
函数fadeIn(){console.log(“调用了fadeIn!”);
opac=opac+1;
不透明度=opac/100;console.log(“褪色…不透明度:+opacity”);
image.style.opacity=不透明度;
如果(opac>100){clearInterval(fadeInterval);console.log(“clearInterval”)};
};
函数fade(){console.log(“调用了fade!”);
fadeInterval=设置间隔(淡出、淡出);
};
在淡出设置前,清除淡出中的淡出区间:)var opacity=1;
var opac=不透明度*100;
var fadeInterval;
var fadeTiming=淡入时间/100;
函数fadeOut(){console.log(“fadeOut已调用!”);
opac=opac-1;
不透明度=opac/100;console.log(“褪色…不透明度:“+opacity+”。opac:“+opac”);
image.style.opacity=不透明度;
如果(opac<0){clearInterval(fadeInterval);fadeInterval=setInterval(fadeIn,fadeInterval)};
};
函数fadeIn(){console.log(“调用了fadeIn!”);
opac=opac+1;
不透明度=opac/100;console.log(“褪色…不透明度:+opacity”);
image.style.opacity=不透明度;
如果(opac>100){clearInterval(fadeInterval);console.log(“clearInterval”)};
};
函数fade(){console.log(“调用了fade!”);
fadeInterval=设置间隔(淡出、淡出);
};
在设置前清除淡出中的淡出间隔:)您需要清除淡出()中的第一个间隔。
var不透明度=1;
var opac=不透明度*100;
var fadeInterval;
var fadeTiming=淡入时间/100;
函数衰减(){
log(“淡出呼叫!”);
opac=opac-1;
不透明度=opac/100;
log(“褪色…不透明度:”+不透明度);
image.style.opacity=不透明度;
如果(opac<0){
//从这里清除淡入淡出的间隔
清除间隔(fadeInterval);
//将新的间隔参考存储在fadeInterval中
fadeInterval=设置间隔(fadeIn,fadeInterval)
};
};
函数fadeIn(){
log(“fadeIn呼叫!”);
opac=opac+1;
不透明度=opac/100;
log(“褪色…不透明度:”+不透明度);
image.style.opacity=不透明度;
如果(opac>100){
//清除淡出中创建的间隔
清除间隔(fadeInterval);
控制台日志(“clearInterval”)
};
};
函数fade(){
log(“fade called!”);
fadeInterval=设置间隔(淡出、淡出);
};
您需要清除fadeOut()中的第一个间隔。
var不透明度=1;
var opac=不透明度*100;
var fadeInterval;
var fadeTiming=淡入时间/100;
函数衰减(){
log(“淡出呼叫!”);
opac=opac-1;
不透明度=opac/100;
log(“褪色…不透明度:”+不透明度);
image.style.opacity=不透明度;
如果(opac<0){
//从这里清除淡入淡出的间隔
清除间隔(fadeInterval);
//将新的间隔参考存储在fadeInterval中
fadeInterval=设置间隔(fadeIn,fadeInterval)
};
};
函数fadeIn(){
log(“fadeIn呼叫!”);
opac=opac+1;
不透明度=opac/100;
log(“褪色…不透明度:”+不透明度);
image.style.opacity=不透明度;
如果(opac>100){
//清除淡出中创建的间隔
清除间隔(fadeInterval);
控制台日志(“clearInterval”)
};
};
函数fade(){
log(“fade called!”);
fadeInterval=设置间隔(淡出、淡出);
};
问题似乎出在函数淡出()
,在这一行:
if(opac < 0) {setInterval(fadeIn, fadeInterval)}; //<-- required fadeTiming instead, also missing the assignment
if(opac<0){setInterval(fadeIn,fadeInterval)}// 问题似乎出在函数淡出()
,在这一行:
if(opac < 0) {setInterval(fadeIn, fadeInterval)}; //<-- required fadeTiming instead, also missing the assignment
if(opac<0){setInterval(fadeIn,fadeInterval)}//问题似乎在这一行if(opac<0){setInterval(fadeIn,fadeInterval)}
,您需要传递fadeTiming
而不是fadeInterval
如果(opac<0){setInterval(fadeIn,fadeInterval)},则问题似乎在这一行代码>,您需要通过fadeTiming
而不是fadeInterval
if(opac < 0) {setInterval(fadeIn, fadeInterval)}; //<-- required fadeTiming instead, also missing the assignment
if(opac < 0) {
clearInterval(fadeInterval); //make sure if the interval isn't already running
fadeInterval = setInterval(fadeIn, fadeTiming);
}