加载所有数据后,Ajax刷新div

时间:2014-05-16 22:20:30

标签: javascript jquery ajax

我有一个ajax刷新div函数,每隔10秒刷新一次div。但是,有时它会在从mysql获取数据之前加载div。如何在再次加载div后等待2秒钟?

<script type="text/javascript">
function updateServers(){
    $('#content').load('servers.php #content').fadeIn();;
}
setInterval( "updateServers()", 10000 );
</script>

3 个答案:

答案 0 :(得分:4)

您可以使用load方法的回调函数:

$( "#result" ).load( "ajax/test.html", function() {
     $('#content').fadeIn();
});

答案 1 :(得分:3)

我认为你最好在检索数据后制作一个setTimeout!

$("#content").load("servers.php #content", 
  function (responseText, textStatus, XMLHttpRequest) {
    if (textStatus == "success") {
         setTimeout( "updateServers()", 10000 ); // Will only occur once
    }
    if (textStatus == "error") {
         // oh no!
    }
  }

答案 2 :(得分:0)

试试这个:

    <script type="text/javascript">
    function updateServers(){

      //Put some delay before refresh
      setTimeout(function () {
               $('#content').load('servers.php #content').fadeIn();
      }, 2000);

    }
    setInterval( "updateServers()", 10000 );
    </script>