<?php
echo "Hej";
usleep(500000);
echo "En halv sekund senare";
Tänk dock på att användarna upplever sidan som långsam, hela output:en från PHP brukar buffras i webservern innan något visas för besökaren. Antagligen är JavaScript lösningen du är ute efter.
Japp, det är nog javascript jag är ute efter. Men... det är jag ännu sämre på. Någon vänlig själ får mer än gärna flytta den här tråden till javascriptavdelningen.
<body>
<script type="text/javascript">
function IntervalTimer(f, t, i){
var t=t,f=f,i=i,th=this;
if (this===window)
throw new Error('IntervalTimer: Object must be created with new IntervalTimer(myFunc, 1000, 5)');
if ('function' != typeof f)
throw new Error('IntervalTimer: Supplied argument f is not a function.');
var iid=setInterval(function(){
if (--i<1)
th.clearInterval()
var retval = f.call(window, i);
if (retval)
this.clearInterval();
}, t);
this.clearInterval=function(){
window.clearInterval(iid);
}
}
function test(times){
var output = document.getElementById('output');
var textElem = document.createTextNode(times + ' gånger kvar. ');
output.appendChild(textElem);
}
window.onload=function(){
timer = new IntervalTimer(test, 2000, 3);
}
</script>
<div id="output">Output: </div>
</body>
Du kan använda setInterval för att köra en funktion med jämna mellanrum. Ovan har jag bifogat en funktion som dessutom enkelt låter dig funktionen enbart x antal gånger. Funktionen måste anropas med new som visas ovan. I exemplet körs funktionen 3 gånger med 2000 millisekunders mellarum. (Alltså 2 sekunder)
Notera för övrigt att du inte kan använda document.write när sidan är färdigladdad - då måste du lägga till saker på annat sätt, t ex med DOM-metoder som ovan, eller mha innerHTML.