停止包含jQuery的函数

时间:2016-01-07 11:59:06

标签: javascript jquery html css

我需要在ZivotBroj==-5时停止执行PadanjeFun功能。

我尝试了jQuery stop()方法,clearInterval(myVar)并返回,但它无效。

我需要在#cepJedan, #cepDva, #cepTri

时停止所有树动画(ZivotBroj==-5

以下是代码:

var PadanjeFun=function(){

if(bod==4) //Change speed when bod reaches the number
{
    q=4;
}
else if(bod==7)
{
    q=3;
}


$(document).ready(function(){

    setInterval(function(){ //Neka zakasni prvi cep
        $("#cepJedan").animate({
            top: "850px",
        },1000 * q, function(){
            BodRacunaj();
            document.getElementById("cepJedan").style.top = "150px";
            ZivotOduzmi();
            document.getElementById("Broj").innerHTML = bod; 
        });

        }, 1000); //Let it start after 1 sec
    });

    $(document).ready(function(){

        setInterval(function(){
            $("#cepDva").animate({
                top: "850px",
            },1000 * q, function(){
                BodRacunaj();
                document.getElementById("cepDva").style.top = "150px";
                ZivotOduzmi();
                document.getElementById("Broj").innerHTML = bod;
            });

        }, 9000); //Let it start after 9 sec
      });

    $(document).ready(function(){

        setInterval(function(){
            $("#cepTri").animate({
                top: "850px",
            },1000 * q, function(){
                BodRacunaj();
                document.getElementById("cepTri").style.top = "150px";
                ZivotOduzmi();
                PadanjeFun();
                console.log("Q je: "+q);
                document.getElementById("Broj").innerHTML = bod;
            });

        }, 3000); //Let it start after 3 sec
      });


}

这是ZivotOduzmi函数,如果它可以帮助任何人:

var ZivotOduzmi=function(){
if((document.getElementById("cepJedan").style.top == "850px") && (document.getElementById("box").style.left == "550px") || (document.getElementById("box").style.left == "980px"))
    {
    zivotBroj--;
    console.log("Imate jos ovoliko zivota: "+zivotBroj);

    var element = document.getElementById('Zivot'); 
    element.style.width = (element.offsetWidth - 100) + 'px'; 

    }
else if((document.getElementById("cepDva").style.top == "850px") && (document.getElementById("box").style.left == "120px") || (document.getElementById("box").style.left == "980px"))
    {
    zivotBroj--;
    console.log("Imate jos ovoliko zivota: "+zivot);

    var element = document.getElementById('Zivot'); 
    element.style.width = (element.offsetWidth - 100) + 'px'; 

    }
else if((document.getElementById("cepTri").style.top == "850px") && (document.getElementById("box").style.left == "120px") || (document.getElementById("box").style.left == "550px") )
    {
    zivotBroj--;
    console.log("Imate jos ovoliko zivota: "+zivotBroj);

    var element = document.getElementById('Zivot'); 
    element.style.width = (element.offsetWidth - 100) + 'px'; 

    }
}

1 个答案:

答案 0 :(得分:1)

您需要将setInterval分配给变量,如:

var anim3;
$(document).ready(function(){

    anim3 = setInterval(function(){
        $("#cepDva").animate({
            top: "850px",
        },1000 * q, function(){
            BodRacunaj();
            document.getElementById("cepDva").style.top = "150px";
            ZivotOduzmi();
            document.getElementById("Broj").innerHTML = bod;
        });

    }, 9000); //Let it start after 9 sec
  });

并致电

clearInterval(anim3);
$("#cepDva").stop();