我有这个jquery代码
else if ($(this).val() === "5") {
var codefaqs = $(this).val();
$('#imgloadfaqs').show();
$("#faqsmain").attr("disabled", "disabled");
$('#faqsanswer').load('http://royta.org/somefolder/get.php',{codedgive:codefaqs},function(applycode){
$('#faqsanswer').html(applycode);
$('#imgloadfaqs').hide(2000);
$("#faqsmain").removeAttr("disabled");
});
}
并显示加载图像并禁用选择框
我想当get.php做它的工作并完成发送resault
加载图片已经结束了
但是这个代码在php显示resault之前很快就消失了
任何人都可以帮我这个吗?
答案 0 :(得分:2)
将隐藏方法移动到你从php文件获得结果的函数中:
...,codedgive:codefaqs},function(applycode){
$('#faqsanswer').html(applycode);
$("#faqsmain").removeAttr("disabled");
$('#imgloadfaqs').hide(500);
});
答案 1 :(得分:2)
尝试将隐藏图像的代码放在done函数中。我相信这将是正确的方法:
$('#faqsanswer').load('http://royta.org/module/faqs/get.php',{codedgive:codefaqs},function(applycode){
$('#faqsanswer').html(applycode);
$("#faqsmain").removeAttr("disabled");
$('#imgloadfaqs').hide(500);
});
答案 2 :(得分:1)
使用以下代码段来显示和隐藏。
$(document).ready(function() {
// Setup the ajax indicator
$('body').append('<div id="ajaxBusy"><p><img src="images/loading.gif"></p></div>');
$('#ajaxBusy').css({
display:"none",
margin:"0px",
paddingLeft:"0px",
paddingRight:"0px",
paddingTop:"0px",
paddingBottom:"0px",
position:"absolute",
right:"3px",
top:"3px",
width:"auto"
});
});
// Ajax activity indicator bound to ajax start/stop document events
$(document).ajaxStart(function(){
$('#ajaxBusy').show();
}).ajaxStop(function(){
$('#ajaxBusy').hide();
});
要详细了解相同的关注http://skfox.com/2008/04/28/jquery-example-ajax-activity-indicator/
如果您在所有ajax请求中使用此方法,您将获得旋转图像,因此您不需要为所有请求编码,这将节省额外的工作。
有关工作示例,请按照jsfiddle链接http://jsfiddle.net/re57j/
进行操作