2016-08-28 21 views
0

我寫了兩個自己的函數,我現在會自動運行,但延遲時間爲1500毫秒。如何在延遲時間內運行兩個自己的函數?

當計數器達到7時,preDial()函數被調用。這工作到目前爲止。

preDial()完成時,系統應該等待1500毫秒,並調用dialSequence()函數,該函數包含一個數組,並應執行所有賦值的each()

那麼我怎麼能用這個延遲來調用這兩個函數呢?

這是到目前爲止我的代碼:

var count = 0; 
var IDs = []; 
var red = '#CC1919'; 
var green = '#30944B'; 
var orange = '#FDCA39'; 

$('.glyphs').on('click', function(e) { 
    e.preventDefault(); 
    count ++; 
    dataId = $(this).attr('data-id'); 
    dataIcon = $(this).attr('data-icon'); 
    IDs.push([count, dataId]); 

    $('#glyph-' + dataId).css('border-color', red); 
    $('a#glyphs-' + dataId).contents().unwrap(); 

    if (count == 7) { 
     preDial(); 
     $(this).delay(1500).dialSequence(); 
    } 
}); 

function preDial() { 
    $('.chevron-active').fadeIn('slow'); 
    $('.chevron-active').fadeOut('slow'); 
    $('#status').delay(750).text('Dialing . . .').css('color', orange); 
    $('#sg_dial_circle').delay(750).addClass('rotate_right'); 
} 

function dialSequence(IDs) { 
    console.log('here'); 
    $.each(IDs, function(index, value) { 
     console.log(value); 
     $('.chevron-active.chevron-0' + index).delay(index * 1000).fadeIn('slow'); 
     $('.line-0' + index).delay(index * 1000).addClass('line-red'); 
    }); 
} 

感謝

kay899

回答

1
setTimeout(function(){ 
    dialSequence(IDs); 
}, 1500); 

,最好不用jQuery的做了,你忘了傳遞的ID的功能

+0

臨時非常非常 – kay899

相關問題