添加加载动画到jquery ajax .load()

rzr*_*rzr 15 ajax jquery

我目前有这个代码,它很简单

$('#window').load('http://mysite.com/mypage.php');
Run Code Online (Sandbox Code Playgroud)

但它仅在完全加载后显示内容,并且在此期间#windows元素保持为空.我想在页面加载之前显示加载图像.我该怎么办?jquery网站对此一无所知.(据我所知)

Rak*_*yal 20

loading首先创建一个div.

 <div id='loadingDiv'>
    Please wait...  <img src='path to your super fancy spinner' />
 </div> 
Run Code Online (Sandbox Code Playgroud)

最初隐藏此DIV并附加代码以在ajaxCall启动时显示此div并在ajax调用完成时隐藏它.

$('#loadingDiv').hide().ajaxStart( function() {
$(this).show();  // show Loading Div
} ).ajaxStop ( function(){
$(this).hide(); // hide loading div
});
Run Code Online (Sandbox Code Playgroud)

编辑
前一段时间SO格式标签中存在一些问题.再次添加.


小智 7

为此,您必须使用gif图像.首先将#window的html更改为gif图像,直到加载内容为止

工作守则

$('#window').html("<img src="image_url" />").load('http://mysite.com/mypage.php');
Run Code Online (Sandbox Code Playgroud)

  • 使用这种方法可能遇到的一个问题是,如果负载因任何原因失败,您的图像将只是坐在那里,永远不会消失.您需要添加*complete*处理程序以隐藏在完成后删除图像. (2认同)