Javascript 使用单击功能加载后刷新div的内容

Javascript 使用单击功能加载后刷新div的内容,javascript,jquery,ajax,html,Javascript,Jquery,Ajax,Html,我有一页,上面有两个Div。第一个Div运行良好,并加载一个玩家列表。现在,当您单击该Div中的链接时,它将加载第二个Div,其中包含有关该播放器的信息。这也很好,但我想做的是让第二个Div在被click事件加载后定期刷新players数据。这是我当前的尝试,但不起作用: var loc = ""; $("a").live('click', function() { loc = "player.php?user=" + $(this).html(); $("#result").l

我有一页,上面有两个Div。第一个Div运行良好,并加载一个玩家列表。现在,当您单击该Div中的链接时,它将加载第二个Div,其中包含有关该播放器的信息。这也很好,但我想做的是让第二个Div在被click事件加载后定期刷新players数据。这是我当前的尝试,但不起作用:

var loc = "";
$("a").live('click', function() {
    loc = "player.php?user=" + $(this).html();
    $("#result").load(loc);
});
setInterval(function() {
    $("#results").load(loc);
}, 1000);

尝试将
setInterval
移动到
click
事件处理程序中,使其在第一次单击之前不会触发,并确保在第一次间隔完成之前定义了
loc

此外,您的
setInterval
中可能有打字错误,因为它指的是
$(“#结果”)
,而不是
$(“#结果”)
。其中一个可能不正确

最后,将
setInterval
分配给变量是一种很好的做法,这样您可以在以后清除它,如果需要的话,使用
clearInterval
。它还允许您只设置一次间隔,而不是每次用户单击

var loc = "";
var interval = null;

$("a").live('click', function(){
    loc = "player.php?user=" + $(this).html();

    $("#result").load(loc);

    // only create the interval once
    if(!interval) {
        interval = setInterval(function(){
            $("#result").load(loc);
        }, 1000);
    }
});

尝试将
setInterval
移动到
click
事件处理程序中,使其在第一次单击之前不会触发,并确保在第一次间隔完成之前定义了
loc

此外,您的
setInterval
中可能有打字错误,因为它指的是
$(“#结果”)
,而不是
$(“#结果”)
。其中一个可能不正确

最后,将
setInterval
分配给变量是一种很好的做法,这样您可以在以后清除它,如果需要的话,使用
clearInterval
。它还允许您只设置一次间隔,而不是每次用户单击

var loc = "";
var interval = null;

$("a").live('click', function(){
    loc = "player.php?user=" + $(this).html();

    $("#result").load(loc);

    // only create the interval once
    if(!interval) {
        interval = setInterval(function(){
            $("#result").load(loc);
        }, 1000);
    }
});

在锚
a
的点击事件中,您将url分配给loc,这将加载内容,但在加载loc时执行的另一种情况下,setInterval将不具有url。所以,在声明url时将其分配给loc,或者确保在setInterval之前将其分配给loc

另请注意,
live
不推荐使用,您应该在上使用

var loc = "player.php?user=" + $("a").html();
$("a").live('click', function(){
        loc = "player.php?user=" + $(this).html();
        $("#result").load(loc);
    });
setInterval(function(){
    $("#results").load(loc);
}, 1000);

在锚
a
的点击事件中,您将url分配给loc,这将加载内容,但在加载loc时执行的另一种情况下,setInterval将不具有url。所以,在声明url时将其分配给loc,或者确保在setInterval之前将其分配给loc

另请注意,
live
不推荐使用,您应该在
上使用

var loc = "player.php?user=" + $("a").html();
$("a").live('click', function(){
        loc = "player.php?user=" + $(this).html();
        $("#result").load(loc);
    });
setInterval(function(){
    $("#results").load(loc);
}, 1000);

什么具体是“不起作用”什么具体是“不起作用”好吧,我会投票,但我没有代表。它正在工作。我错过的就是那个简单的打字错误。如此简单的事情会引起如此巨大的悲痛。不管刷新是否发生在单击事件之前,它都只是一个空div,这对我的情况来说是可以的。@JosephJ:如果jackwanders指出拼写错误是回答你问题的原因,那么虽然你不能投票,但你可以通过单击旁边的勾号来接受答案,这将为你赢得一点声望,让你更接近投票。更多信息可以找到:@forsvarir谢谢你的提示。好吧,我会投票,但我没有代表。它正在工作。我错过的就是那个简单的打字错误。如此简单的事情会引起如此巨大的悲痛。不管刷新是否发生在单击事件之前,它都只是一个空div,这对我的情况来说是可以的。@JosephJ:如果jackwanders指出拼写错误是回答你问题的原因,那么虽然你不能投票,但你可以通过单击旁边的勾号来接受答案,这将为你赢得一点声望,让你更接近投票。更多信息可以找到:@forsvarir谢谢你的提示。