我試圖爲許多AJAX請求的頁面顯示加載圖像(並將父窗體變爲透明)。什麼是最有效的方式來獨立添加/刪除加載圖標和每個div的不透明度?帶jQuery的模塊化AJAX加載指示器
這是我到目前爲止。我的方法存在的問題是,不透明度也適用於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
不錯!這很聰明。出於好奇,你能解釋爲什麼需要將'position:relative;'添加到'.box'嗎? – Justin
需要postion relative,因此可以適當地放置絕對位置元素。如果你刪除你應該看到它破裂。看看[這篇文章](http://css-tricks.com/absolute-positioning-inside-relative-positioning) –
你需要更多upvotes。 –