Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 编写回调函数_Javascript_Jquery_Callback_Jquery Events - Fatal编程技术网

Javascript 编写回调函数

Javascript 编写回调函数,javascript,jquery,callback,jquery-events,Javascript,Jquery,Callback,Jquery Events,我使用jQuery编写如下内容: $('#current_image').fadeOut(function(){ $('#current_image').attr('src',newImage).show(); }); 这很好,一旦淡出完成,嵌套位就会执行 我想在这里创建我自己的函数,它将取代淡出。我的函数是什么样子的,这样代码就可以工作了 $('#current_image').customFadeOut(function(){ $('

我使用jQuery编写如下内容:

    $('#current_image').fadeOut(function(){
        $('#current_image').attr('src',newImage).show();
    });
这很好,一旦
淡出
完成,嵌套位就会执行

我想在这里创建我自己的函数,它将取代淡出。我的函数是什么样子的,这样代码就可以工作了

    $('#current_image').customFadeOut(function(){
        $('#current_image').attr('src',newImage).show();
    });

关键是将函数引用传递给您定义的原型方法,并将传递的函数绑定到
$。animate
或内部使用的任何jquery动画函数

HTML:


不能将“function(){callback.apply(this);}”替换为“callback”?是的,但是除了
回调
之外,可能还需要为所有
自定义淡出
提供通用功能,因此这种方式更灵活、更明确。我认为展示更多的能力比简洁要好。此外,如果有人在没有函数的情况下调用
customFadeOut
,该怎么办?然后它就会失败,你知道有很多jquerynoob不知道JS和/或不正确地阅读api,知道你必须输入一个参数:p
<div id="blah" style="color:#fff; opacity:1; background:black; height:50px; position:relative; ">fsdljfdsjfds</div>
<a id="click" href="#">fjsd</a>
$.fn.customFadeOut = function (callback) {
    return $(this).animate({
        opacity: 0.25,
        fontSize: "3em",
        height: 'toggle'
    }, 5000, function () {
        callback.apply(this)
    });

}

$('#click').click(function () {
    $('#blah').customFadeOut(function () {
        alert('hi')

    })

})​