我有一个包含 php 的 Div 标签,用于用信息填充该 div 我想要做的是让页面每 15 秒调用一次,这样它就可以更新那里的信息,而不必重新加载整个网页。 我已尝试使用 JavaScript/jQuery 执行此操作,但我似乎无法让它工作
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.0/jquery.min.js"></script>
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$('.View').load('Small.php').fadeIn("slow");
}, 15000); // refresh every 15000 milliseconds
</script>
<div class="View"><?php include 'Small.php'; ?></div>
这是我在搜索一些之后得到的,发生的是,它加载了 Small.php,但它不会刷新它或每 15 秒更新一次信息。
请帮忙!
我应该添加我应该显示的所有 php 数组都在 Small.php 中执行,我将其包含到的页面只是为了隔离。
编辑:没有人注意到我的第一个引用 jQuery 的脚本没有结束标记,这破坏了我的第二个脚本。添加适当的结束标记后,脚本终于可以运行了,但是如果不先使用淡出,则淡入无法正确显示。
最佳答案
您的代码有效,但 fadeIn
无效,因为它已经可见。我想你要达到的效果是:fadeOut
→ load
→ fadeIn
:
var auto_refresh = setInterval(function () {
$('.View').fadeOut('slow', function() {
$(this).load('/echo/json/', function() {
$(this).fadeIn('slow');
});
});
}, 15000); // refresh every 15000 milliseconds
在这里试试:http://jsfiddle.net/kelunik/3qfNn/1/
附加说明:正如 Khanh TO 所提到的,您可能需要清除浏览器的内部缓存。他提到,您可以使用 $.ajax
和 $.ajaxSetup ({ cache: false });
或随机黑客来做到这一点。
关于javascript - 在不重新加载整个页面的情况下重新加载 DIV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799579/