只有在自定义函数完成jQuery后运行函数

时间:2015-08-28 11:22:19

标签: javascript jquery function

我通常会这样做:

$(".item").fadeIn(function(){
    alert('done');
});

哪个有效? (我认为是正确的?)但我如何使用自定义函数执行此操作?

E.g。

$(".item").customFunction(function(){
    customFunctionTwo();
});

2 个答案:

答案 0 :(得分:4)

基本上它看起来像这样

$.fn.customFunction = function (callback){
    //some code
    callback();
}
$('.item').customFunction(function () {
    customFunctionTwo();
});

答案 1 :(得分:0)

我猜你应该看看承诺https://api.jquery.com/promise/

$.fn.customFunction = function (callback){
    var myFn = function(){
        /* your code along with settimeout as well if you choose*/
        //example
        return $( "div" ).fadeIn( 800 ).delay( 1200 ).fadeOut();
    }
    $.when( myFn() ).done(function() {
        callback();
    });
}    

$('.item').customFunction(function () {
    customFunctionTwo();
});