如何在jquery中显示加载器时阻止用户与底层用户界面的交互
How to blocks user interaction with the underlying user interface while show loader in jquery?
这是我的加载器显示在ajaxstart:
$(document).ajaxStart(function () {
$("#wait").css("display", "block");
});
$(document).ajaxComplete(function () {
$("#wait").css("display", "none");
});
Css: .wait {
display:none;
position:fixed;
z-index:1000;
width:400px;
height:400px;
top:20%;
left:35%;
padding:2px;
}
我的问题是,用户可以与后台控件交互,而显示加载器。我不希望任何用户与控件交互。
Css
.preloader-container {
position: fixed;
z-index: 1031;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: transparent;
display: block;
overflow: hidden;
padding: 25%;
}
.preloader-center {
position: absolute;
padding: 15px;
top: 10%;
left:30%;
-ms-transform: translateX(-50%) translateY(-50%);
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: transparent;
z-index: 1000;
font-size: 60px;
}
Javascript function showLoader(container){
var html = '<div class="preloader-container js-busy-loader"><div class="preloader-center"><img src="http://i49.tinypic.com/j5z8mb.gif"></div></div>';
$(container).find(".js-ajax-loader,.js-busy-loader").remove();
$(container).append(html);
}
function hideLoader(container){
if(typeof container == 'string' && container!==''){
$(container).find(".s-ajax-loader,.js-busy-loader").remove();
}else{
$("body").find(".s-ajax-loader,.js-busy-loader").remove();
}
}
示例:https://jsfiddle.net/h1wpmxs0/
相关文章:
- Javascript没有't更新DOM,直到用户交互
- 使用JavaScript验证用户交互/输入-这是一种很好的方法
- Ajax 调用在 IOS 中的用户交互之前不起作用
- 在C#中,我如何对客户端用户交互和javascript(jQuery)代码进行单元测试
- JavaScript/Wicket:如何显示阻止用户交互的覆盖
- 对用户交互进行单选按钮检查
- 谷歌应用程序脚本:如何在没有用户交互的情况下调用绑定到处理程序的函数
- 用户交互启用了 Javascript
- 设置用户交互计时器
- HTML5 + JS:跟踪用户交互
- 是否可以像真实用户交互那样进行JavaScript操作来更改文档的activeElement
- HTML,JS:加载音频是否需要在移动浏览器上进行用户交互
- 有没有办法防止用户交互暂停动画
- 跟踪网站上的用户交互
- 我可以在手机上自动播放上一页用户交互的音频吗
- 从web应用程序,如何在没有用户交互的情况下在客户端计算机上运行exe
- 如何确定onStateChange事件是由API还是用户交互触发的
- 任何不需要用户交互的可视化库
- 检测任何用户交互
- 用户交互后,后台出现Javascript弹出窗口