我有一个巨大的php表,我希望通过AJAX加载它以向用户插入加载gif。所以我对这种操作非常菜鸟,我制作了一个非常简单的代码来完成这个任务。这是我的代码:
$(document).ready(function() {
$("#tableDiv").html('<center><img src="images/loader.gif" /></center>');
$("#tableDiv").load("regulatoryData.php");
});
这是正在加载 gif,但它没有运行,它保持静态。我该如何纠正它?有什么建议吗?
编辑:当我将图像拖到浏览器时,它会正常动画。
编辑2:惠特只是
$("#tableDiv").html('<center><img src="images/loader.gif" /></center>');
gif 工作正常,但是当我添加第二部分时,它开始运行,并且在它停止并保持冻结状态直到出现监管数据
之后编辑3:实际上我检查的不是冻结的gif,而是整个浏览器。
对不起我的英语:/
在<BODY>
开头添加
<img src="images/loader.gif" style="display:none" />
作为"预加载器"
我发现当您开始加载另一个页面时,IE 会停止对 GIF 进行动画处理。我已经在我自己的一个项目中解决了这个问题,方法是添加一个超时,该超时在另一个页面开始加载后 50 毫秒刷新图像源,只需再次为其分配相同的值即可。在您的情况下,看起来像这样:
$(document).ready(function() {
$("#tableDiv").html('<center><img src="images/loader.gif" /></center>');
setTimeout(function() { $("#tableDiv img").attr("src", "images/loader.gif"); }, 50);
$("#tableDiv").load("regulatoryData.php");
});
我会推荐如下内容:
http://jsfiddle.net/NeFaz/1/
<a href="#" id="load">Load</a>
<div id="myid">
</div>
$(document).ready(function() {
$("#load").click(function() {
$('#myid').addClass('loading');
$("#myid").load('http://www.confetti.co.uk/shop/', function () {
$('#myid').removeClass('loading');
});
});
});
#myid {
height: 500px;
width: 500px;
}
#myid.loading {
background-image: url('http://koikoikoi.com/wp-content/uploads/2012/07/RESET.gif');
}
这会将图像设置为div的背景,但仅在应用类时。我们从这个类开始。
单击加载链接后,我们将加载类添加到div,将显示 bg 图像。加载时使用的函数在加载完成时触发,并从div 中删除类,从而删除图像。