Javascript 编写回调函数
我使用jQuery编写如下内容: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(){ $('
$('#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')
})
})