添加回调到jQuery插件

时间:2013-07-18 01:07:23

标签: javascript jquery callback

我在网站上使用插件kkcountdown作为计时器。

当未设置定时器时加载页面时会出现烦人的闪烁,所以我用css隐藏了定时器,我想在jQuery运行并设置定时器时将其淡入。

这就是我现在要做的。

我一直在查看jQuery队列函数,但也没有任何运气。

    $(".kkcount-down").kkcountdown({

        dayText : 'DAY ',
        daysText : 'DAYS<br>',
        hoursText : ' ',
        minutesText : ' ',
        secondsText : 'HOURS',
        displayZeroDays : false,
        oneDayClass : 'one-day'

    }, function(){

         $('#countdown').fadeTo(500, 1);

    });

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery promise方法。

它可能看起来像这样

$(document).ready(function() {

$(".kkcount-down").kkcountdown({

        dayText : 'DAY ',
        daysText : 'DAYS<br>',
        hoursText : ' ',
        minutesText : ' ',
        secondsText : 'HOURS',
        displayZeroDays : false,
        oneDayClass : 'one-day'

    });

$( ".kkcount-down" ).promise().done(function(){
$('#countdown').fadeTo(500, 1);
});

});

/ **看到这不适合你** /
向fadeTo添加延迟可以为您提供所需的效果,允许kkcountdown启动。我认为延迟1秒对最终用户没有太大影响,但它会让你看起来更干净。所以jQuery会是

$(document).ready(function(){

    // custom mod on line 92 by Roko C. Buljan & C Grimshaw-Jones
    $(".kkcount-down").kkcountdown({

        dayText : 'DAY ',
        daysText : 'DAYS<br>',
        hoursText : ' ',
        minutesText : ' ',
        secondsText : 'HOURS',
        displayZeroDays : false,
        oneDayClass : 'one-day'

    });


    $('#countdown').delay(1000).fadeTo(500, 1);

});    

JSFIDDLE