我正在努力实施进度条。我在网上找到的当前版本使用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();
});
});
答案 0 :(得分:1)
您是否看过SignalR,它是一个用于实时更新页面的新库。
您可以将它用于此类事物,并且它将使用websockets为您提供定期更新的背景连接。
此外,如果浏览器不支持网络套接字,那么它将回归旧技术:
这是一个教程,展示如何使用它创建进度条: