如何一个接一个地调用javascript函数延迟?

时间:2015-06-26 11:04:57

标签: javascript jquery

这里我有JavaScript函数,它迭代数组并将图像附加到div。当到达数组中的最后一个元素时,该函数调用翻译函数来缩放div,并在3秒后重复该函数。即3秒我们可以看到翻转的内容,3秒后它再次从数组迭代中继续....

我有6组与下面给出的相同的功能...例如flip-1,flip-2,flip-3等等,直到flip-6。现在我想要做的是,我想在flip-1完成3秒翻转后立即拨打flip-5 ....我该怎么做?

function startSlidecat1(started) {
  for (var i = 0; i < footwear.length; i++) {
    var image = footwear[i][0];
    imgslidercat1(image, i / initial_del * 8000, i == footwear.length - 1);
  }
};

function imgslidercat1(image, timeout, last) {
  window.setTimeout(function() {
    document.getElementById('flip-1').style.display = 'none';
    document.getElementById('category-1').style.display = 'block';
    document.getElementById('category-1').innerHTML = "";
    var product = document.getElementById('category-1');
    var elem = document.createElement("img");
    product.appendChild(elem);
    elem.src = image;
    if (last) {            
        flip1();
    }
  }, timeout);
}
startSlidecat1();

function flip1(){    
    $('#category-1').css('display', 'none');    
    $('.box-1').delay(100).css('display', 'block');
    //$('#category-1').delay(100).addClass("closeover"); 
    $('.box-1').addClass("opensesame");  
    setTimeout(closeIt, delay_time);
    //flip2();
  }

function closeIt(){
   // $('.box-1').addClass("closesesame");
    //$('.box-1').removeClass("closesesame");     
    $('#category-1').addClass("opensesame");
    setTimeout(startSlidecat1, 400);     
}

1 个答案:

答案 0 :(得分:0)

setTimeout(flip5,3000);

这将调用&#34; flip5&#34; 3秒后(= 3000ms)发挥作用。