使用javascript自动刷新div

时间:2013-03-13 06:16:36

标签: jquery joomla2.5

情况我正在尝试自动刷新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 tables的扩展,它允许将csv文件直接嵌入到文章中。 我要求div应该每20秒重新加载一次,以便csv文件中的更改反映在网页上。 问题当我调用“$('#results')。fadeOut('slow')。load('#results')。fadeIn(”slow“);” 会发生什么是在div区域内重新加载整个页面。这不是我要求的。

请提出任何建议!

2 个答案:

答案 0 :(得分: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")
});

答案 1 :(得分:0)

在不刷新整个页面的情况下,需要.load()将其他页面的外部数据加载到当前页面。

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

来自DOCS:

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');

这将加载gets the test.htmlfind 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");