编写回调函数

问题描述 投票:7回答:1

我正在使用jQuery编写类似这样的内容:

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

这很可爱,fadeOut完成后,将执行嵌套位。

我想在这里做自己的函数来代替fadeOut。我的函数是什么样的,这样该代码才能起作用?

    $('#current_image').customFadeOut(function(){
        $('#current_image').attr('src',newImage).show();
    });
javascript jquery callback jquery-events
1个回答
3
投票

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

HTML:

<div id="blah" style="color:#fff; opacity:1; background:black; height:50px; position:relative; ">fsdljfdsjfds</div>
<a id="click" href="#">fjsd</a>

JS:

$.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')

    })

})​

Live Demo

© www.soinside.com 2019 - 2024. All rights reserved.