0

情况我正在尝试自动刷新在 Joomla 2.5 的文章中定义的标签

     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js">         </script> 
     <script> 
     var auto_refresh = setInterval(
     function()
     {
     alert("testing");
     $('#results').fadeOut('slow').load('#results').fadeIn("slow");
     }, 20000);
     </script-->

     <div id="results">
     {szakitable  csv = "http://127.0.0.1/msedcl/Archives/status2.csv" csvseparator=","  width= 430}
     {/szakitable}
     </div>

上面的代码使用了一个名为 szaki 表的扩展,它允许将 csv 文件直接嵌入到文章中。我要求 div 应该每 20 秒重新加载一次,以便在 csv 文件中所做的更改反映在网页上。 问题当我调用 "$('#results').fadeOut('slow').load('#results').fadeIn("slow");" 发生的是整个页面在 div 区域内重新加载。这不是我需要的。

请有任何建议!

4

2 回答 2

2

你试过这个吗?

$('#results').fadeOut('slow').load('{current_page.html} #results').fadeIn("slow");

将 {current_page.html} 替换为文档的文件名

使用回调的另一种方式

$('#results').fadeOut('slow', function(){
    $(this).load('index.html #results').fadeIn("slow")
});
于 2013-03-13T06:25:54.593 回答
0

需要查看.load()才能将外部数据从其他页面加载到当前页面而不刷新整个页面。

当我看到您的代码时,您正在加载#results根本不起作用的 div。

从文档:

Loading Page Fragments:

.load() method, unlike $.get(), allows us to specify a portion of the remote document to be inserted.是通过 url 参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定字符串中第一个空格之后的部分是确定要加载的内容的 jQuery 选择器。

example:

$('#result').load('ajax/test.html #container');

这将加载的是 thisgets the test.html并将其加载到当前页面find the element with id of container的元素内。result


所以在你的情况下:

var auto_refresh = setInterval(function(){
   alert("testing");
   $('#results').fadeOut('slow').load('targetpage.php #results').fadeIn("slow");
 }, 20000); //-------------------------^^^^^^^^^^^^^^---required

或者,如果您以其他方式加载它,那么您可以这样做:

$('#results').fadeOut('slow').fadeIn("slow");
于 2013-03-13T06:45:10.063 回答