ajaxStart& amp;的替代品ajaxComplete

时间:2013-07-31 18:05:43

标签: javascript jquery html ajax

我正在努力实施进度条。我在网上找到的当前版本使用ajaxStart启动栏并设置起始值,然后设置ajaxComplete来设置动画并完成栏。

我有一个工作流程功能,我希望能够设置每一步的栏数。这可能吗?我需要一些方法来使用ajaxStart,然后在函数结束和ajaxComplete发生之前多次修改它。

$(document).ajaxStart(function() {
    //only add progress bar if added yet.
    if ($("#progress").length === 0) {
        $("body").append($("<div><dt/><dd/></div>").attr("id", "progress"));
        $("#progress").width((50 + Math.random() * 30) + "%");
    }
});

$(document).ajaxComplete(function() {
    //End loading animation
    $("#progress").width("101%").delay(200).fadeOut(400, function() {
        $(this).remove();
    });
});

1 个答案:

答案 0 :(得分:1)

您是否看过SignalR,它是一个用于实时更新页面的新库。

您可以将它用于此类事物,并且它将使用websockets为您提供定期更新的背景连接。

此外,如果浏览器不支持网络套接字,那么它将回归旧技术:

这是一个教程,展示如何使用它创建进度条: