作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为包含许多 AJAX 请求的页面显示加载图像(并使父级透明)。独立添加/删除每个 div 的加载图标和不透明度的最有效方法是什么?
这是我目前所拥有的。我的方法的问题是不透明度也应用于 gif,这不是我想要的。我的代码是否有简单的修复方法或更好的方法?
示例:http://jsfiddle.net/justincook/x4C2t/
HTML:
<div id="a" class="box">A</div>
<div id="b" class="box">B</div>
<div id="c" class="box">C</div>
JavaScript:
$.fn.loading = function(show){
if(show){
this.prepend('<div class="loading-centered"></div>');
this.css({ opacity: 0.3 });
}else{
this.children('.loading-centered').remove();
this.css({ opacity: 1 });
}
};
$('#a').loading(true); //start
setTimeout(function(){ $('#a').loading(false); }, 3000); // stop
最佳答案
我会保留 CSS 中的样式,只使用 JS 注入(inject)/删除元素 http://jsfiddle.net/x4C2t/7/
$.fn.loading = function(show){
if(show){
this.prepend('<div class="loading-centered"></div>');
}else{
this.children('.loading-centered').remove();
}
};
CSS:
.box {
float:left;
width:100px;
height:100px;
border:1px solid #bbb;
margin: 10px;
padding:20px;
text-align:center;
border-radius:10px;
background: #eee;
position: relative;
}
.loading-centered {
background:url('http://www.ajaxload.info/images/exemples/24.gif') center center no-repeat white;
position:absolute;
height: 100%;
width: 100%;
top: 0;
left: 0;
border-radius:10px;
zoom: 1;
filter: alpha(opacity=50);
opacity: 0.5;
}
关于javascript - 带有 jQuery 的模块化 AJAX 加载指示器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17177281/
我是一名优秀的程序员,十分优秀!