如何在加载jquery时隐藏加载图像

时间:2013-01-12 18:19:49

标签: php jquery ajax

我有这个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之前很快就消失了 任何人都可以帮我这个吗?

3 个答案:

答案 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/

进行操作