小编典典

重新加载DIV而不重新加载整个页面

ajax

我有一个带有php include的Div
Tag,该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的第一个脚本没有结束标记,并且这破坏了我的第二个脚本。添加适当的结束标记后,脚本终于可以工作了,但是如果不先使用fadeOut,则fadIn不能正确显示。


阅读 585

收藏
2020-07-26

共1个答案

小编典典

您的代码有效,但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 });或随机破解来做到这一点。

2020-07-26