这已被问过很多次了.但在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&铬.
必须有一些解决方法,因为我已经看到其他网站显示加载div.或许我正在做一些愚蠢的事情.
一旦代码在所有浏览器中运行.我想在调用ajax时创建一个泛型函数(如jQuery插件)来显示加载div.
解决方法
试试这个:
这将确保在ajax调用完成后隐藏ur DIV
这将确保在ajax调用完成后隐藏ur DIV
function ws() { showL(); var res =""; $.ajax({ url: 'webservice.asp?service=LoadingTestSRV',async: true,cache: false,success: function(data) { res=data; $('#dv').html(res); hideL(); $('#complete').html('Done'); } }); } function showL() { $('#loading').show(); } function hideL() { $('#loading').hide(); }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。