如何刷新<DIV>

Ric*_*tar 2 html javascript jquery

如何刷新div里面的自动刷新div是PHP

以下代码不起作用?

var refresh = setInterval(function() {  $("#recent_activity").html(); }, 1);
Run Code Online (Sandbox Code Playgroud)

Pao*_*ino 14

基于x0n的评论,我认为这是一个公平的猜测,我猜你想要<div>每隔X秒从服务器自动刷新一个内容.在你的例子中,你的第二个函数参数setInterval是1.这是一个非常糟糕的主意,因为延迟是以毫秒为单位,所以你每秒会触发1000个请求(不是浏览器会让你,但仍然).

无论如何,如果这是你想要的,你需要这样做:

var timer;
var seconds = 30; // how often should we refresh the DIV?

function startActivityRefresh() {
    timer = setInterval(function() {
        $('#recent_activity').load('recent_activity_ajax.php');
    }, seconds*1000)
}

function cancelActivityRefresh() {
    clearInterval(timer);
}
Run Code Online (Sandbox Code Playgroud)

然后,您的服务器端脚本(recent_activity_ajax.php在示例中)将需要返回您想要<div>填充的任何内容 - 只是,而不是页眉或页脚或其他任何内容.如果您希望在页面加载时启动它,您只需调用startActivityRefresh:

$(function() {
    startActivityRefresh();
});
Run Code Online (Sandbox Code Playgroud)

如果这完全不是您刷新的意思<div>,那么您需要澄清一下.:)

编辑:

回应你的评论:你不能让Javascript"刷新"动态PHP代码的内容.这是不可能的,因为浏览器无法真正执行像PHP这样的服务器端语言.你必须再次呼叫服务器.为了使这个最干净,您应该将填充内容的代码移动#recent_activity到函数中,在页面加载时调用一次,并使用不同的文件简单地输出该代码以便能够动态刷新它.你应该从这里看看MVC模式,但我不确定你是否已经做好了准备......

  • 如果不再次调用服务器,则无法刷新PHP代码 (3认同)
  • Gully,你想从服务器检索该div的内容吗?如果没有,您想从哪里检索它们? (2认同)