加载gif隐藏当所有的ajax脚本已经执行
Loading gif to hide when all ajax scripts have been executed
我尝试了几种方法来显示我的加载gif,然后在ajax脚本完成加载时隐藏。我试了$j(窗口)。加载,我目前试图将隐藏()函数加载在不同的地方的gifdiv元素。我不知道如何显示加载gif,直到函数中的其他脚本已经加载。你能看到我能做什么吗?(如果我注释掉所有的$j('#loading').hide()我确实得到了加载gif显示)。SimpleWithAttrPrices函数执行ajax脚本并返回值。
function updatePrices(IDs){
var product_id= <?=$product_id ?>;
var qty= parseInt($j("#qtyUpdateBox input").val());
$j('#loading').show();
if (qty==1){
function sendRequest(i,basePrice) {
var optionSelectionArray = currentlySelectedAttributes(IDs[i]);
simpleWithAttrPrice(optionSelectionArray, function(data) {
//var vendor = IDs[i];
var basePrice = parseFloat(roundDollar(data));
$j('.details'+IDs[i]+ ' .priceBlock').empty();
$j('.details'+IDs[i]+ ' .priceBlock').append('<span>'+formatCurrency(basePrice,"$")+'</span>');
$j('.details'+IDs[i]+ ' .priceBlock').append('<input type="hidden" name="customPrice" value="' + basePrice + '"/>');
});
}//end sendRequest
for(i=0; i<IDs.length; i++)
{
sendRequest(i);
if(i=IDs.length-1){
$j('#loading').hide();
}
}
//$j('#loading').hide();
}//end if
//... THE REST OF THE FUNCTION NOT APPLICABLE
可以使用ajaxStart()和ajaxStop()来显示/隐藏ajax请求期间的加载动画
就是这么简单:
$(document).ajaxStart(function() {
$j('#loading').show();
})
.ajaxStop(function() {
$j('#loading').hide();
});
如果你很容易跟踪你发出了多少请求,你可以在隐藏#loading
元素之前计算.ajaxSuccess()
被调用的次数。
相关文章:
- php脚本中无法识别ajax传递的值
- 如果返回的数据是javascript,$.ajax会自动执行脚本吗
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 我尝试在登录脚本中使用ajax,但页面不会重定向
- Javascript-如何让脚本与Ajax请求的数据一起运行
- ajax加载了内容,脚本没有执行
- 如何将javascript变量传递给Ajax脚本
- ajax鼠标悬停和鼠标悬停脚本
- 运行AJAX脚本
- 使用Ajax或JavaScript选择下拉列表选项后,在同一页面上执行PHP脚本
- 什么's使用脚本标记调用文件和ajax之间的区别
- 从Ajax脚本重定向Javascript页面
- 如何参数化ajax TruClient脚本中的值
- AJAX和php脚本后添加的表单元素未传输到$_POST
- jquery ajax到php脚本不保存数据
- 无法使用ajax/javascript将文件上传到perl脚本
- js 脚本(ajax) - PHP |多变量通信
- 我如何发送参数到php脚本(ajax),使他们将包括在服务器端
- 如何使用Java脚本ajax调用下载TXT文件
- 为什么浏览器不缓存java脚本(Ajax)