Php 每x秒重新加载随机div内容
我有一个div,在每个页面上随机显示10个文件中的1个。我想在8秒的时间间隔内重新加载这个文件,每次重新加载10个文件时给我一个不同的文件 我已经阅读了一些使用jQuery.load作为解决方案的相关问题,但这并不适用于我的代码,因为我没有每次加载特定的文件 这是我的div内容:Php 每x秒重新加载随机div内容,php,html,random,reload,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 id="tall-content">
<?
$random = rand(1,10);
include 'tall-files/' . $random . '.php';
?>
</div>
感谢使用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脚本的输出放在id为tall content的div容器中。因此,实际上,您需要创建另一个javascript,它无限期地循环调用函数ajaxFunction并等待8000毫秒。仅使用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);
如果您想在用户坐在页面的椅子上时执行此操作,答案是javascript 例如,您可以使用此函数
function recrusive_timeout_function() {
setTimeout(function() {
recrusive_timeout_function();
}, 8000);
}
如果您想在该div中包含一个输出一些html的php文件。Ajax是您的朋友,JQuery是一个用户友好且易于使用的javascript框架,可以处理您的问题。为什么不能通过JQuery加载一个使用上述代码的php文件?