在.hide()之后,它再次没有.show()

时间:2011-10-04 03:28:24

标签: jquery

我正在调用loadAjax();在一个onClick事件上,但在我做第一个之后,它工作,然后在那之后,div.loading-ajax不再显示,div.loading-ajax永久隐藏..任何人都知道为什么它永久隐藏在第一个之后时间到了吗?这是代码:

    function loadAjax() { 
    $("#dialog1").fadeIn();
    $("#loading-ajax").show();
    $("#loading-ajax").css("position","static");
    $("#dialog_text1").load("theurl", function() {
        $("#loading-ajax").hide();  }
     );}

HTML:

    <div id="dialog1">
    <div id="dialogtext1">
    <div id="loading-ajax" class="loading-visible">
    <p><img src="/images/loading.gif" /></p>
    </div>
    </div>
    </div>

CSS:

    .loading-visible { display: block; position: fixed; } 

2 个答案:

答案 0 :(得分:2)

你的loading-ajax div在#dialogtext1里面 - “theurl”的内容将覆盖它,将它从DOM中删除。将它移到#dialogtext1之外,它应该可以正常工作。

答案 1 :(得分:0)

    var loading_img = $('<div id="loading-ajax" class="loading-visible"></div>');
    loading_img.append('<p><img src="/images/loading.gif" /></p>');

    $("#dialog1").fadeIn().children('#dialogtext1').append(loading_img);

    $("#dialog_text1").load("theurl", function() {
        loading_img.remove;  
    }