Jquery .load& .html加载时间问题

时间:2012-08-24 20:35:03

标签: php jquery html preloader

我似乎又遇到的另一个问题是Jquery。我基本上是通过使用.load函数从外部php页面加载内容。这样工作正常,我唯一的问题是负载只是闪烁进出,所以它看起来不太好。

有没有让装载机显示的时间更长,或者至少有一段时间?

以下是我目前的代码:

 $('#content').load('contact.php');
        $('#test a').click(function() {
        var page = $(this).attr('href');
        $("#mydiv").html('<div class="bar"><span></span></div>');
        $('#content').load(''+ page +'.php', null, function() {
    $("#mydiv").html('');
   });
    return false;
});

任何帮助或指导都会很棒:)

以下不起作用:

<script type="text/javascript">
    $(document).ready(function() {

    setTimeout(function () { 

    $('#content').load('contact.php');


    $('#test a').click(function() {

    var page = $(this).attr('href');

        $("#mydiv").html('<div class="bar"><span></span></div>');
    $('#content').load(''+ page +'.php', null, function() {
    $("#mydiv").html('');
    });

    return false;

        }); 

    }, 2000);

});
</script>

2 个答案:

答案 0 :(得分:2)

<script>
    setTimeout(function () { 
        //Do it here
    }, 2000);
</script>

我不会让用户等一分钟。将2000修改为您想要的任何时间。

祝你好运。

答案 1 :(得分:2)

您可以调用setTimeout在加载完成后隐藏加载程序并显示内容:

setTimeout(hideLoaderShowContent, 1000); // 

function hideLoaderShowContent() {
    $("#loader").hide();
    $("#content").show();
}

修改 这就是您所要求的:

var $mydiv = $("#mydiv");

$mydiv.html('<div class="bar"><span></span></div>');

$('#content').load(''+ page +'.php', null, function() {
    setTimeout(function() { $mydiv.html(''); }, 1000); // Note the setTimeout here waits 1 second (1000 ms)
});