これは何度も尋ねられてきました。しかし、IEとChromeではどのソリューションも機能していません。
基本的に、ajax呼び出しが行われている間に読み込み中の画像を表示したいと思います。
以下は私が試していることです。
function ws(){
showL();
var res=$.ajax({url:'webservice.asp?service=LoadingTestSRV',async:false,cache:false}).responseText;
$('#dv').html(res);
hideL();
$('#complete').html('Done');
}
function showL()
{
$('#loading').show();
}
function hideL()
{
$('#loading').hide();
}
以下はHTMLです
<table cellspacing="1" cellpadding="1" border="1">
<tr><td>
<input type="button" value="ckick" id="btn" onClick="ws();">
<input type="button" value="clear" onClick="$('#dv,#complete').html('');">
</td><td>
<div id="dv"></div>
</td></tr><tr>
<td>Here<div id="loading" style="display:none" >Loading.................</div></td>
<td>final<div id="complete"></div></td></tr>
</table>
上記のjsの後、私は試しました
- ajaxStartおよびajaxStop
- $ .ajaxSetup
- $ .ajax({...})。done(hideL)
私が試したすべてのjsコードはFirefoxで機能していますが、IEとChromeでは機能していません。 Firefoxでは、コードは期待どおりに機能します。divの読み込みが表示され、ajaxが呼び出され、divの読み込みが非表示になります。これはまさに私が期待していることです。IEとChromeでは、読み込み中のdivが表示されません。たぶん、ajax呼び出しの後または前に、非常に速く表示および非表示になります。
IEとChromeでコードを機能させるために何ができるか教えてください。
他のサイトがdivの読み込みを示しているのを見たので、いくつかの回避策が必要です。または多分私は愚かなことをしている。
コードがすべてのブラウザで機能するようになったら。ajaxが呼び出されているときに読み込み中のdivを表示するジェネリック関数(jQueryプラグインなど)を作成したいと思います。