如何延迟运行两个自己的函数?

时间:2016-08-28 11:16:59

标签: jquery delay

我已经编写了两个自己的函数,我现在将自动运行,但延迟时间为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 个答案:

答案 0 :(得分:1)

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

没有jQuery更好,你忘了将ID传递给函数

相关问题