防止div刷新闪烁

时间:2015-11-23 06:25:20

标签: jquery ajax

所以IE 10和我相信11并没有闪现令人耳目一新的div。另一方面谷歌Chrome。

有没有办法阻止它闪烁? (看起来像是再次加载页面)

这是我的代码。

<html>
<head>

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
  $(document).ready(function() {
  $("#responsecontainer").load("watcher.php");
  var refreshId = setInterval(function() {
    $("#responsecontainer").load('watcher.php?randval='+ Math.random());
  }, 1000);
 });
</script>
</head>
<body>

<div id="responsecontainer">
</div>
</body>

更新:

我想出了这个问题。我在watcher.php页面上有一个css文件。这似乎导致了闪烁。我将该文件包含在主文件中,而不是发生ajax调用的地方。谢谢!

1 个答案:

答案 0 :(得分:1)

我禁用了你的jQuery函数,因为它无法在代码片段中工作。

  1. <body>visibility: hidden
  2. 开头
  3. init(mSec)
  4. 上加载了<body>功能
  5. init(1000)淡入<body>
  6. 您可以按init(mSec) mSec = (time in milliseconds)
  7. 调整时间

    function init(mSec) {
      delay(mSec);
    }
    
    function delay(mSec) {
      setTimeout('initFadeIn()', mSec);
    }
    
    function initFadeIn() {
      $("body").css("visibility", "visible");
      $("body").css("display", "none");
      $("body").fadeIn(1000);
    }
    <!doctype html>
    <html>
    
    <head>
      <style>
        body {
          visibility: hidden;
        }
      </style>
    </head>
    
    <body onload="init(1000);">
    
      <div id="responsecontainer">TEST</div>
      <script src="http://code.jquery.com/jquery-latest.js"></script>
      <script>
        /*$(document).ready(function() {
              $("#responsecontainer").load("watcher.php");
              var refreshId = setInterval(function() {
                $("#responsecontainer").load('watcher.php?randval=' + Math.random());
              }, 1000);
            });*/
      </script>
    </body>
    
    </html>