Javascript 函数在调用另一个函数时不停止

Javascript 函数在调用另一个函数时不停止,javascript,jquery,html,animation,Javascript,Jquery,Html,Animation,我在为一件简单的事争吵 我有一个div,当点击时,一个胺化开始(一个无限循环的图像变化,模拟一个动画gif) 但是,当我单击另一个div时,第一个div需要停止,并只启动另一个动画,这将继续到每个动画(总共将是8个) 以下是一个图像循环的代码: var t1; var t2; var anim1 = new Array ('img/testes2/anim1_1.png','img/testes2/anim1_2.png'); var anim2 = new Array ('img/testes

我在为一件简单的事争吵

我有一个div,当点击时,一个胺化开始(一个无限循环的图像变化,模拟一个动画gif)

但是,当我单击另一个div时,第一个div需要停止,并只启动另一个动画,这将继续到每个动画(总共将是8个)

以下是一个图像循环的代码:

var t1;
var t2;
var anim1 = new Array ('img/testes2/anim1_1.png','img/testes2/anim1_2.png');
var anim2 = new Array ('img/testes2/anim2_1.png','img/testes2/anim2_2.png');

var index = 1;

var verifica1 = 0;
var verifica2 = 0;


function rotateImage1(){
$('#imagemPrinc').fadeOut(0, function(){
    $(this).attr('src', anim1[index]);
    $(this).fadeIn(0, function(){
        if (index == anim1.length-1){
            index = 0;
        }
        else{
            index++;
        }
    });
});
return false;
}

function stopTimer1(){
if(verifica1 = 1){
    clearInterval(t2);
}
}

function muda1(){
if (verifica1 = 1){
    //stopTimer2();
    //$('#bgImagem').css({'background-image':'url(img/testes2/anim1_1.png)'});
    t1 = setInterval(rotateImage1,500);
}
}
第二个动画的功能相同。 verifica变量和stopTimer函数,我尝试了一次停止,其他的播放,但似乎不起作用。这就是为什么它会对代码进行注释

查看正在运行的代码会更容易,仅此而已 可点击的div是这两个红色方块

有人能帮我吗


谢谢

clearTimeout将setInterval函数返回的计时器id作为参数(这里是t1)

您不应该使用持续时间为0的淡出和淡出,而应该只使用隐藏和显示

另外,您可以简化此块:

   if (index == anim1.length-1){
        index = 0;
    }
    else{
        index++;
    }

这是非常错误的:

if(verifica1 = 1){
这不是一个测试:它总是改变,而且总是正确的。您可能想要==


您的代码中是否有一个点是您(自愿)设置verifica1的?

请再次阅读您的代码:您试图为clearTimeout函数提供一个函数(
clearTimeout(rotateImage2);
)而不是计时器id。您应该将其替换为
clearTimeout(t2)(假设其余的代码与我能读的代码相似)。我现在这样写:clearTimeout(t1)。。清除超时(t2)。。。。但没什么用…我只是用验证器让它停止循环。。。在绝望的时刻。。。rsrs
if(verifica1 = 1){