我有以下HTML:某些HTML不想在IE中顯示/隱藏。爲什麼?
<div id="loading-overlay">
<div id="loading-overlay-background"></div>
<div id="loading-overlay-content">
Processing...
<br />
<img src="@Url.Content("~/Content/img/ajax-loader.gif")" title="" alt="Please Wait" />
</div>
</div>
而CSS:
#loading-overlay
{
position:fixed;
width:100%;
height:100%;
top:0;
left:0;
z-index:5000;
}
#loading-overlay-background
{
position:relative;
width:100%;
height:100%;
top:0;
left:0;
background-color:#000;
opacity:0.5;
filter:alpha(opacity=50);
z-index:5001;
}
#loading-overlay-content
{
position:fixed;
top:25%;
left:50%;
margin-left:-150px;
margin-top:-20px;
height:40px;
width:300px;
color:#fff;
text-align:center;
z-index:15002;
}
這裏是一些JavaScript(jQuery的):
$.ajax({
url: 'controller/action',
beforeSend: function() {
$('#loading-overlay').show();
},
success: function (data, textStatus, jqXHR) {
},
error: function (xhr) {
},
complete: function() {
$('#loading-overlay').hide();
}
});
爲什麼不是我的「加載覆蓋「在任何AJAX調用中出現在任何版本的IE中?
編輯:是的,它在FireFox和Chrome中很好用。這些AJAX調用可能需要幾分之一秒到20秒左右才能完成。警報消息確實顯示,但HTML不顯示。
AJAX調用需要多快才能完成?如果它們足夠快,'#loading-overlay'元素將顯示然後再次隱藏並且可能不明顯。 – 2012-02-13 15:43:58
它適用於其他瀏覽器? – Christoph 2012-02-13 15:44:24
我會說ajax正在快速完成。在show()調用之後放一個提示,看看它是否顯示 – Henesnarfel 2012-02-13 15:44:47