0

我有这个 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 show resault 之前很快就消失了,
谁能帮我解决这个问题?

4

3 回答 3

2

在函数中移动隐藏方法,您将从 php 文件中获取结果:

...,codedgive:codefaqs},function(applycode){
            $('#faqsanswer').html(applycode);
            $("#faqsmain").removeAttr("disabled");
            $('#imgloadfaqs').hide(500);
        });
于 2013-01-12T18:23:25.900 回答
2

尝试将隐藏图像的代码放入 done 函数中。我相信这将是正确的方法:

$('#faqsanswer').load('http://royta.org/module/faqs/get.php',{codedgive:codefaqs},function(applycode){
        $('#faqsanswer').html(applycode);
        $("#faqsmain").removeAttr("disabled");
        $('#imgloadfaqs').hide(500);
    });
于 2013-01-12T18:23:37.163 回答
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/

于 2013-01-12T18:28:25.567 回答