.JS en externe variabele

Status
Niet open voor verdere reacties.

zaanen

Gebruiker
Lid geworden
7 feb 2007
Berichten
6
Hoi allemaal.
Ik heb een probleemje met een js script.
Dit moet een countdown countup teller maar ik loop een beetje vast erop.

In IE deed hij het wel goed. in Firefox niet.
Iemand een IDEE waarom ?

dit is de .JS

Code:
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 = "16/02/1985 2:32 AM";
if (typeof(DisplayFormat)=="undefined")
  DisplayFormat = DisplayFormat = "%%D%% &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %%H%% &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %%M%% &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %%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(BackColor, ForeColor);
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);

en dit is het stukje html
HTML:
<script language="JavaScript" type="text/javascript">
BackColor = "#221E1F";
ForeColor = "#FFFF00";
TargetDate = "16-02-1985 02:32";
CountActive = true;
CountStepper = 1;
LeadingZero = true;
DisplayFormat = "%%D%% &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %%H%% &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %%M%% &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; %%S%% ";
FinishMessage = "test";
</script>
<script language="JavaScript" src="/countdown.js" type="text/javascript"></script>

mijn vraag is nu hoe krijg ik dit firefox compatible.
Later moet ik deze variabele via PHP gaan vullen. uit een database.

Alvast bedankt
 
De TargetDate meteen als datumobject definiëren:
PHP:
TargetDate = new Date(1985,1,16,2,32,0);
en dan de rest daaraan aanpassen. :)


Vr.Gr. Egel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan