刷新jquery ui对话框的内容

时间:2010-09-17 20:53:24

标签: jquery refresh partial-page-refresh

我设法得到这个脚本。它刷新了对话框窗口的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; ?>")
  })
})

1 个答案:

答案 0 :(得分:0)

如果要减少刷新间隔,只需要考虑性能:带宽,服务器负载和客户端负载。

客户端加载不应该是一个问题,如果它在后台不是无用的刷新。例如,如果窗口具有焦点以减少拉动无用的,从未见过的数据,则只能刷新。

由于div显示一次,并且每次刷新时都会调用show函数(当它仍然显示时,因为它从未被隐藏),您可以删除该调用。我不太确定jQuery如何实现它以及你可以获得多少性能提升,但无论如何它在第一次调用后都是无用的调用。

您也可以在回调函数中使用它,因为您正在使用加载函数。你必须检查一下。

此外,您不需要将空字符串传递给加载函数。该数据参数是可选的。

由于我没有看到内容更新,你可能会在粘贴之前从代码中删除它?

对于onclick,jQuery提供了click()函数http://api.jquery.com/click/

$("#category_dialog").click(function(event){
  //refresh code here
});