Javascript 使用单击功能加载后刷新div的内容
我有一页,上面有两个Div。第一个Div运行良好,并加载一个玩家列表。现在,当您单击该Div中的链接时,它将加载第二个Div,其中包含有关该播放器的信息。这也很好,但我想做的是让第二个Div在被click事件加载后定期刷新players数据。这是我当前的尝试,但不起作用: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
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谢谢你的提示。