我设法得到这个脚本。它刷新了对话框窗口的div:
function getRandom() {
$("#category_dialog").load("<?php echo $category; ?>", '', callback);
}
function callback() {
$("#category_dialog").show("fast");
setTimeout("getRandom();", 10000);
}
$(document).ready(getRandom);
一切正常。 div每10秒刷新一次。但我对这种方法有些怀疑。
1.因为在任何10秒钟刷新会减慢borwser的速度或类似的东西?
2.我想让它每3秒更快刷新一次可能发生什么不好的事情?
我更愿意以某种方式制作一个链接来刷新内容onclick - 但我找不到任何好的例子。有人可以帮我解决这个问题。 所以我希望使用load。()加载category_dialog div,但是使用onclick调用 - 然后显示为什么是新的。 谢谢!
借助Kissaki的帮助,我设法制作了一个简单的功能,这将使我成为一个刷新链接:) 这是样本:
$(function() {
$("#refresh").click(function() {
$("#category_dialog").load("<?php echo $category; ?>")
})
})
答案 0 :(得分:0)
如果要减少刷新间隔,只需要考虑性能:带宽,服务器负载和客户端负载。
客户端加载不应该是一个问题,如果它在后台不是无用的刷新。例如,如果窗口具有焦点以减少拉动无用的,从未见过的数据,则只能刷新。
由于div显示一次,并且每次刷新时都会调用show函数(当它仍然显示时,因为它从未被隐藏),您可以删除该调用。我不太确定jQuery如何实现它以及你可以获得多少性能提升,但无论如何它在第一次调用后都是无用的调用。
您也可以在回调函数中使用它,因为您正在使用加载函数。你必须检查一下。
此外,您不需要将空字符串传递给加载函数。该数据参数是可选的。
由于我没有看到内容更新,你可能会在粘贴之前从代码中删除它?
对于onclick,jQuery提供了click()函数http://api.jquery.com/click/
$("#category_dialog").click(function(event){
//refresh code here
});