显示外部页面并在div中加载gif

时间:2011-06-23 17:51:33

标签: jquery ajax html

我可以让div显示外部页面的内容,但加载的gif不会显示。任何人都可以请更正我的代码。 TIA

<a href="javascript:void(0);" id="load-extmsg">blah</a>

<script type="text/javascript">
$(document).ready(function(){
$('#load-extmsg').click(function(){
    $("#extmsg").load("blah.php", function(){
        $("#ajaxLoader1").remove();
    });
});
</script>

<div id='extmsg'><img src="/images/ajaxLoader2.gif" id="ajaxLoader1"/></div>

经过一些试验和错误后,下面是正确的代码:

<a href="javascript:void(0);" id="load-extmsg">blah</a>

<script type="text/javascript">
$(document).ready(function(){
$('#load-extmsg').click(function(){
$("#ajaxLoader1").show();
    $.post('blah.php', function(data){
         $("#ajaxLoader1").remove();;
         $("#extmsg").append(data);
    })
});
});
</script>

<div id='extmsg'><img src="/images/ajax-loader2.gif" id="ajaxLoader1" style="display:none;" /></div>

2 个答案:

答案 0 :(得分:2)

我认为这里没有问题。

您正在加载器顶部加载。

尝试做这样的事情:

$('#load-extmsg').click(function(){
    $("#ajaxLoader1").show();
    $.post('blah.php', function(data){
         $("#ajaxLoader1").hide();
         $("#extmsg").append(data);
    })
});

添加一些css来隐藏加载图像:

#ajaxLoader1 {
    display: none;
}

答案 1 :(得分:1)

我还要确保图像路径有效(完整性检查)

您是否还可以在点击后检查页面上是否有实际加载图像(ajaxLoader2.gif)。只需在FireFox中检查元素(带有firebug)

否则,如果图像在那里,我没有看到任何可能使其隐藏的样式问题。

由于

相关问题