每x秒重新加载随机div内容

时间:2012-03-06 20:44:19

标签: php html random reload

我有一个div,随机显示每个页面加载中的10个文件中的1个。我希望在8秒的设定时间间隔内重新加载,给我一个不同的10个文件重新加载。

我已经使用jQuery .load作为解决方案阅读了一些相关问题,但由于我每次都没有加载特定文件,因此我的代码不能正常工作。

这是我的div内容:

<div id="tall-content">

 <?

  $random = rand(1,10);

  include 'tall-files/' . $random . '.php';

 ?>

</div>

由于

3 个答案:

答案 0 :(得分:0)

在使用PHP生成随机内容时,如果不刷新整个页面,就无法让div重新加载该内容。

更好的解决方案是使用AJAX。您可以将div容器中的PHP代码存储为单独的文件,并使用ajax来请求该php文件。您还可以设置一个无限循环来每8秒请求一次php文件。这是一个示例,但您需要根据您的规范重新编码:

<script language="javascript" type="text/javascript">
<!--
function ajaxFunction(){
var ajaxRequest;
try{ajaxRequest = new XMLHttpRequest();} catch (e){try{ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try{ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){alert("Error: Browser/Settings conflict");return false;}}}
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            document.getElementById('tall-content').innerHTML = ajaxRequest.responseText;
        }
    }
    var url = "random.php";
    ajaxRequest.open("GET", url, true);
    ajaxRequest.send(null);
}
//-->
</script>

唯一缺少的部分是刷新计时器,因为我没有在javascript中编程很多我无法帮助你。但在这种情况下的目标是创建一个文件“random.php”,将随机生成器放在那里,并使用上面的这个脚本向random.php发出ajax请求,这将把php脚本的输出放在div中id为“tall-content”的容器。所以,你需要创建另一个javascript,它无限循环地调用函数“ajaxFunction()”并等待8000毫秒。

答案 1 :(得分:0)

仅使用PHP来实现这一目标是不切实际的。这个例子使用jQuery和PHP。

$(document).ready(function() {
     $("#div").load("random.php");
     var refreshId = setInterval(function() {
         $("#div").load('random.php');
     }, 8000);
     $.ajaxSetup({ cache: false });
});

random.php

$pages = array("page1.php", "page2.php", "page3.php", "page4.php", "page5.php");

$randompage = $pages[mt_rand(0, count($pages) -1)];

include ($randompage);

答案 2 :(得分:0)

如果您想在用户坐在页面的椅子上时执行此操作,则答案是javascript。

例如,您可以使用此功能。

    function recrusive_timeout_function() {
            setTimeout(function() {
                    recrusive_timeout_function();
            }, 8000);
    }

如果你想在该div中包含一个php文件(输出一些html)。 Ajax是你的朋友,JQuery是一个用户友好且易于使用的javascript框架,可以处理你的想法。