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);
}