我以前一直在處理這個問題,但似乎問題出現了。讓我解釋。在IE中提交動畫問題
我有一個網頁,可以讓用戶上傳一個大文件,之後,ASP.NET服務器端腳本也可能需要幾秒鐘來處理它。與此同時,我想在Web瀏覽器中顯示加載器/微調器動畫,以防止用戶再次點擊提交按鈕。
我用下面的jQuery代碼:
$('#ButtonImportData').click(function() {
$('.importSubmitSpinner').css('display', 'inline');
}
這裏是爲微調圖片的HTML:
<img src="Graphics/spinner_big.gif" width="28" height="28" class="importSubmitSpinner" alt="Spinner" />
和這裏的CSS:
.importSubmitSpinner
{
margin: 0px 10px 0px 6px;
width: 28px;
height: 28px;
display: none;
}
spinner_big.gif是一個簡單的帶有動畫的GIF文件用於指示用戶正在加載頁面。
上述方法適用於幾乎所有的瀏覽器,除了...猜猜哪一個?是的,IE!在IE中發生的事情是,在用戶點擊ButtonImportData按鈕後,顯示了微調器,但動畫立即停止,基本上給用戶一個虛假的指示,表明一個頁面被掛起,這提示他們再次單擊提交 - 與我相反想做。
很久以前我停止使用IE,但顯然還有大約一半的互聯網社區仍在使用它。男人,人們如何使用這塊* & ^%?無論如何,這不是一個問題:)問題是,如何使這個簡單的任務在IE中工作,並使我的動畫真正發揮?
PS。我一直在用IE 9或任何測試它是Windows 7
編輯當前的「網絡之美」:
感謝,ShadowScripter,我找到了解決辦法。下面是我工作:
1以下內容添加到HTML以確定我們是否在IE瀏覽器上運行(因爲我們不需要做這個「黑客」對任何其他網絡瀏覽器):
<![if !IE]>
<script type='text/javascript'>
var bNotIE = 1;
</script>
<![endif]>
2我們需要ID添加到img元素:
<img src="Graphics/spinner_big.gif" width="28" height="28" class="importSubmitSpinner" alt="Spinner" id="imgSpinnerImport" />
3然後以顯示GIF動畫:
$('#ButtonImportData').click(function() {
//For "normal" browsers
$('.importSubmitSpinner').show();
if (typeof (bNotIE) == 'undefined') {
//The following must be done only in case of IE
//NOTE: We need to load the same file but with a different name
// because if you don't change the file name it won't work!
setTimeout('document.images["imgSpinnerImport"].src = "Graphics/spinner_big_ie.gif"', 200);
}
}
你在說哪個版本的IE?你有沒有試過jQuery BlockUI插件。它似乎是瀏覽器兼容... http://jquery.malsup.com/block/ – 2012-04-10 07:41:49
IE 9 ............ – ahmd0 2012-04-10 07:42:31