php/ajax/js
Ik wil graag een countdown timer maken die gebruik maakt van bepaalde php variablen.
Laten we zeggen de volgende variablen:
$speed = 300; //snelheid in seconden
$build_arr = mysql_fetch_array(mysql_query("SELECT uid, act_type, todo, type, ready,eta,active FROM conres WHERE uid='$uid' and todo = 'c' and active=1"));
$eta = $build_arr[5];
$sp = $speed * $eta;
Nu wil ik met javascript en het liefst ajax een timer maken die aftelt van $sp
Ik heb een paar guides op internet kunnen vinden, echter wordt bij een refresh van de pagina de tijd gereset, waarschijnlijk omdat er geen cookie gebruikt wordt die de tijd vast stelt.
<code><script language="JavaScript">
TargetDate = "23 Oct 2009";
CountActive = true;
CountStepper = -1;
LeadingZero = true;
DisplayFormat = "%%H%%:%%M%%:%%S%%";
FinishMessage = "00:00:00";
</script>
<script language="JavaScript">
function calcage(secs, num1, num2) {
s = ((Math.floor(secs/num1))%num2).toString();
if (LeadingZero && s.length < 2)
s = "0" + s;
return "<b>" + s + "</b>";
}
function CountBack(secs) {
if (secs < 0) {
document.getElementById("cntdwn").innerHTML = FinishMessage;
return;
}
DisplayStr = DisplayFormat.replace(/%%D%%/g, calcage(secs,86400,100000));
DisplayStr = DisplayStr.replace(/%%H%%/g, calcage(secs,3600,24));
DisplayStr = DisplayStr.replace(/%%M%%/g, calcage(secs,60,60));
DisplayStr = DisplayStr.replace(/%%S%%/g, calcage(secs,1,60));
document.getElementById("cntdwn").innerHTML = DisplayStr;
if (CountActive)
setTimeout("CountBack(" + (secs+CountStepper) + ")", SetTimeOutPeriod);
}
function putspan(backcolor, forecolor) {
document.write("<span id='cntdwn' style='background-color:" + backcolor +
"; color:" + forecolor + "'></span>");
}
if (typeof(BackColor)=="undefined")
BackColor = "white";
if (typeof(ForeColor)=="undefined")
ForeColor= "black";
if (typeof(TargetDate)=="undefined")
TargetDate = "";
if (typeof(DisplayFormat)=="undefined")
DisplayFormat = "%%D%%:%%H%%:%%M%%:%%S%%.";
if (typeof(CountActive)=="undefined")
CountActive = true;
if (typeof(FinishMessage)=="undefined")
FinishMessage = "";
if (typeof(CountStepper)!="number")
CountStepper = -1;
if (typeof(LeadingZero)=="undefined")
LeadingZero = true;
CountStepper = Math.ceil(CountStepper);
if (CountStepper == 0)
CountActive = false;
var SetTimeOutPeriod = (Math.abs(CountStepper)-1)*1000 + 990;
putspan(ForeColor, BackColor);
// var dthen = new Date(TargetDate);
//var dnow = new Date();
//if(CountStepper>0)
//ddiff = new Date(dnow-dthen);
//else
//ddiff = new Date(dthen-dnow);
//gsecs = Math.floor(ddiff.valueOf()/1000);
//CountBack(gsecs);
gset = ;
// <!--- gsecs = Math.floor(ddiff.valueOf()/1000); --->
// <!--- gset = Math.floor(ddiff.valueOf()/1000 ; --->
CountBack(gset);
</script>
Iemand een idee?
Gewijzigd op 01/01/1970 01:00:00 door Ken