如何在jQuery中运行15次函数

时间:2015-11-03 08:06:20

标签: javascript jquery

我有一个jQuery函数

 setInterval(function () {
        secondPlay()
    }, 1000);


    setInterval(function () {
        secondPlay1()
    }, 1000);
function secondPlay() {
    $("body").removeClass("play");

    var aa = $("ul.secondPlay li.active");
    var ii = $('ul.secondPlay li:last-child').val();
    if (aa.html() == undefined) {
        aa = $("ul.secondPlay li").eq(0);
        aa.addClass("before")
            .removeClass("active")
            .next("li")
            .addClass("active")
            .closest("body")
            .addClass("play");

    }
    if (aa.is(":last-child")) {
        $("ul.secondPlay li").removeClass("before");
        aa.addClass("before").removeClass("active");
        aa = $("ul.secondPlay li").eq(0);
        aa.addClass("active")
            .closest("body")
            .addClass("play");
    }
    else {
        $("ul.secondPlay li").removeClass("before");
           aa.addClass("before")
            .removeClass("active")
            .next("li")
            .addClass("active")
            .closest("body")
            .addClass("play");
    }

}

我想为15 times运行此功能。我该怎么办呢?

6 个答案:

答案 0 :(得分:6)

将变量声明为计数器。每次调用函数时增加该变量。如果变量达到15,则使用clearInterval()函数

停止setInterval()
{{1}}

答案 1 :(得分:2)

您可以使用以下代码作为参考。



(function(){
  var count = 0;
  var interval = setInterval(function(){
    if(count>15){
      window.crearInterval(interval);
    }
    else{
      document.getElementById("lblCount").innerHTML = count;
      count++;
    }
  },1000);
})()

<p id="lblCount"></p>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

试试这个

&#13;
&#13;
var timePlyed = 0;
function secondPlay() {
    timePlyed++;
    console.log(timePlyed);
    if (timePlyed != 15) {
        secondPlay();
    }
}
secondPlay();
&#13;
&#13;
&#13;

答案 3 :(得分:1)

将它们包含在for循环中?

for (i = 0; i < 15; i++) { 
 ...
}

答案 4 :(得分:1)

你可以使用超时功能:

function secondPlay(i){
    console.log(i);
}

function test(){
    for(var i = 0; i < 15; i++){
       setTimeout(function(){
           secondPlay(i);
       }, i * 1000);
    }
}

调用test()来执行该函数。

答案 5 :(得分:0)

您可以使用超时代替setInterval:

var i = 0;
function secondPlay1() {
// do function
 setTimeout(function() {
   if (i < 15) {
      i++;
      secondPlay1();
   }
 }, 1000);
}