当前位置 : 主页 > 网页制作 > JQuery >

jQuery:淡出 – 做点什么 – 淡出模式

来源:互联网 收集:自由互联 发布时间:2021-06-15
我似乎经常编写类似于这样的模式的jQuery代码: 淡出==做一些幕后故事==淡入 如下图所示: /// reference path="jquery-1.4.2.js" //// reference path="jquery-1.4.2-vsdoc.js" //// reference path="jquery.validate-v
我似乎经常编写类似于这样的模式的jQuery代码:

淡出==>做一些幕后故事==>淡入
如下图所示:

/// <reference path="jquery-1.4.2.js" />
/// <reference path="jquery-1.4.2-vsdoc.js" />
/// <reference path="jquery.validate-vsdoc.js" />
var fade = "slow";

$(document).ready(function () {

    // Some event occurs
    $("#Trigger").change(function () {
        var id = $(this).find(":selected").val();        

        // Fade out target while I do something
        $("#Target").fadeOut(fade, function () {
            if (id != "") {

                // Do Something
                $("#Target").load(
                    "/Site/Controller/Action/"+id, null,
                    function () {

                        // Fade in Target
                        $("#Target").fadeIn(fade);
                    });
            }
        });
    });
});

这工作正常,但回调层次结构变得非常深,我只是想知道是否有更简单的方法来做这个或更好的技术,不会导致这么多级别的回调

使用 jQuery’s .queue

$("#Target")
    .fadeOut()
    .queue(function() {
        if (id != "")
            // Do Something
            $(this).load(
                "/Site/Controller/Action/"+id, null,
                $(this).dequeue
            );
        else
            $(this).dequeue();
    })
    .fadeIn()
网友评论