我有一个带有文本框、ddls、按钮等的 asp.net 表单。其中一个帖子需要一段时间才能完成。
使页面变暗、使用户无法选择任何表单控件并显示旋转加载栏的最快方法是什么,直到发布表单?
jquery中是否有类似的东西?
这是我的解决方案。我添加了一个隐藏的模式弹出窗口,然后当您单击按钮时我将其打开。由于弹出窗口有 autoOpen=false 它将在回发后关闭。
<script type="text/javascript">
$(function () {
$("#<%=dialog.ClientID %>").dialog({
autoOpen: false,height: 100,width: 200,modal: true,closeOnEscape: false,resizable: false,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); },
beforeClose: function (event, ui) { return false; }
});
$("#buttonId").click(function () {
$("#<%=dialog.ClientID %>").dialog("open");
});
})
</script>
<div runat="server" id="dialog" title="Loading ">
<p>Loading...</p>
</div>
一个可能的改进是将它嵌入到用户控件或母版页中,并使用类选择器而不是按钮名称。即 $('.slowButton')。
这意味着您可以选择哪些按钮应用效果来简单地添加 slowButton css 类。
var $loader = $('<img src="loader.gif">').appendTo(document.body);
然后在成功方法中
success: function (data) {
$loader.remove();
}
它将隐藏屏幕直到不调用成功方法
或者你可以使用下面的插件