Javascript 每次加载时,Ajax自动刷新都会闪烁

Javascript 每次加载时,Ajax自动刷新都会闪烁,javascript,jquery,ajax,Javascript,Jquery,Ajax,我正在开发一个网页,它有一个div,其中有一个名为headlines的类,它每10秒自动刷新一次,问题是当数据加载到div时,它会闪烁,我想将其清除 $(document).ready(function() { setInterval(function() { $('.headlines').load('headlines.php'); }, 10000); }); 如果使用.load(),则无法消除闪烁。它会闪烁,因为它初始化请求,清除.headlines,并从服务器加载响

我正在开发一个网页,它有一个div,其中有一个名为
headlines
的类,它每10秒自动刷新一次,问题是当数据加载到div时,它会闪烁,我想将其清除

$(document).ready(function() {
  setInterval(function() {
    $('.headlines').load('headlines.php');
  }, 10000); 
});

如果使用
.load()
,则无法消除闪烁。它会闪烁,因为它初始化请求,清除
.headlines
,并从服务器加载响应。这种反应不是即时的

您可以改为使用,并在
success
方法中重写
.headlines
的内容

setInterval(function() {
    $.ajax({
        url: 'your-url.html',
        success: function(res) {
          $('.headlines').html(res.data);   
        }
    });
}, 10000);
编辑 这样想吧。。。如果响应是从不加载,那么当您使用
.load()
时,它将等待响应。在等待期间,
.headline
将无限期地为空

相反,您可以在
.headlines
的上下文之外等待服务器响应

setInterval(function() {
    $.ajax({
        url: 'your-url.html',
        success: function(res) {
          $('.headlines').html(res.data);   
        }
    });
}, 10000);
您需要查看jQuery文档。

正如前面所说,您需要使用
$.get()
函数来完成这项工作!因此,更新您的代码如下:

$(document).ready(function() {
    setInterval(function() {
        $.get('headlines.php', function (data) {
            $('.headlines').html(data);
        });
    }, 10000); 
});

$.load()
函数将闪烁。因此,我们可以使用任何其他AJAX函数,
$.AJAX()
$.get()
,在
success
函数中,我们可以更新
.html()
.headlines

你说的“眨眼”是什么意思我不明白你想解释什么,你能把它写在我的剧本里,这样我就能更好地理解它吗?我在回答中提到了你的名字<代码>:D
setInterval(function() {
    $.ajax({
        url: 'your-url.html',
        success: function(res) {
          $('.headlines').html(res.data);   
        }
    });
}, 10000);