Php 随时间更改div内容

Php 随时间更改div内容,php,javascript,ajax,html,Php,Javascript,Ajax,Html,我正在尝试使用ajax加载一个php文件。我想做的是一种测验。我希望一个图像屏幕,让用户看到3秒钟,然后答案的选择被看到。我想连续做三四次。例如 1) 问题意象 几秒钟后 2) 答案选择 点击答案后 3) 第二个问题图像 ... 继续这道菜 我可以使用以下代码执行此操作: <script type="text/javascript"> var content = [ "<a href='resim1a.php'> link 1 </a>", "<

我正在尝试使用ajax加载一个php文件。我想做的是一种测验。我希望一个图像屏幕,让用户看到3秒钟,然后答案的选择被看到。我想连续做三四次。例如 1) 问题意象 几秒钟后 2) 答案选择 点击答案后 3) 第二个问题图像 ... 继续这道菜

我可以使用以下代码执行此操作:

<script type="text/javascript">

var content = [
  "<a href='resim1a.php'> link 1 </a>",
  "<a href='resim2a.php'> link 2 </a>",
  "insert html content"
];
var msgPtr = 0;
var stopAction = null;

function change() {
  var newMsg = content[msgPtr];
  document.getElementById('change').innerHTML = 'Message: '+msgPtr+'<p>'+newMsg;
  msgPtr++;  
  if(msgPtr==2)
  clearInterval(stopAction); 
}

function startFunction() { change();  stopAction = setInterval(change, 500); }
 window.onload = startFunction;
</script>

<div id="change" style="border:5px solid red;width:300px; height:200px;background-Color:yellow"> </div>
<div id="anotherdiv" >
        <input type="image" onclick="load('anotherdiv' , 'include.php');"src="buton1.png">
</div>

变量内容=[
"",
"",
“插入html内容”
];
var msgPtr=0;
var stopAction=null;
函数更改(){
var newMsg=内容[msgPtr];
document.getElementById('change')。innerHTML='消息:'+msgPtr+''+newMsg;
msgPtr++;
如果(msgPtr==2)
清除间隔(停止动作);
}
函数startFunction(){change();stopAction=setInterval(change,500);}
window.onload=startFunction;
但是,当此文件包含在另一个文件中时,此脚本不起作用。我怎样才能让它工作

<script type="text/javascript">
    function load(thediv, thefile){
      if (window.XMLHttpRequest){
      xmlhttp = new XMLHttpRequest();
    } else {
      xmlhttp = new ActiveXObject ('Microsoft.XMLHTTP');
      }
      xmlhttp.onreadystatechange = function(){
      if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
      document.getElementById(thediv).innerHTML = xmlhttp.responseText;
      }
     }
     xmlhttp.open('GET', thefile , true);
     xmlhttp.send();
    }
    </script>

功能负载(第四个,文件){
if(window.XMLHttpRequest){
xmlhttp=新的XMLHttpRequest();
}否则{
xmlhttp=newActiveXObject('Microsoft.xmlhttp');
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(thediv.innerHTML=xmlhttp.responseText;
}
}
open('GET',thefile,true);
xmlhttp.send();
}
上面是上一页脚本。我将此脚本与以下代码一起使用:

<script type="text/javascript">

var content = [
  "<a href='resim1a.php'> link 1 </a>",
  "<a href='resim2a.php'> link 2 </a>",
  "insert html content"
];
var msgPtr = 0;
var stopAction = null;

function change() {
  var newMsg = content[msgPtr];
  document.getElementById('change').innerHTML = 'Message: '+msgPtr+'<p>'+newMsg;
  msgPtr++;  
  if(msgPtr==2)
  clearInterval(stopAction); 
}

function startFunction() { change();  stopAction = setInterval(change, 500); }
 window.onload = startFunction;
</script>

<div id="change" style="border:5px solid red;width:300px; height:200px;background-Color:yellow"> </div>
<div id="anotherdiv" >
        <input type="image" onclick="load('anotherdiv' , 'include.php');"src="buton1.png">
</div>

原因是您希望窗口触发onload事件:

window.onload=startFunction

窗口是在ajax运行时加载的,所以为什么不直接调用该函数呢

startFunction();

如果在脚本之前需要一些DOM元素,只需将脚本放在DOM元素下面,脚本将在DOM就绪后运行。

您需要删除
change()
函数开始函数()

下面是完整的例子


我希望它能对你有所帮助。

你说的“包括”是什么意思?包含在
-标记中,通过php包含,稍后通过ajax包含?它可能不起作用的原因是窗口已经加载,因此将startFunction附加到它将永远不会被调用。实际上,您是对的,窗口已经加载,因此不会再次加载。我怎样才能找到解决问题的替代方案?感谢您的回答…按照刚才给出的答案直接调用它;不幸的是,这不起作用。。是否有其他方法可以在没有onclick事件的情况下调用此函数?也许这可以帮助您简单地回答“否”。为什么他需要这样做?当我们删除更改()时,它会在自己的页面上起作用;从函数startFunction()。但是,当它被另一个文件加载时,它不会再次工作。。。