webForumDet fria alternativet

FireFox-fel i ett script som räknar ner

3 svar · 354 visningar · startad av LesPaul

LesPaulMedlem sedan apr. 200449 inlägg
#1

Hej,
jag har ett script som fungerar utmärkt i Explorer 6.x och 7.x men inte i FireFox. I FireFox visas bara ingenting. Inget scriptfel visas heller. Någon som kan lista ut varför och vad jag kan göra för att det skall fungera?

Scriptet skriver ut ex. 64 dagar 20 timmar 25 minuter 37 sekunder kvar och räknar hela tiden ner "live".

Mycket tacksam för snabb hjälp.

<script type="text/javascript">
var year = 2007;
var month = 5;
var day = 14;
var hours =18;

var then = new Date(year,month-1,day, hours);

function addZero(num){
if(num<10)
return "0"+num;
else
return num;
}

function runMany(){
var now = new Date();
if (now < then){
var days = Math.floor((then-now)/(1000*60*60*24));
var hours = Math.floor((then-now-days*1000*60*60*24)/(1000*60*60));
var mins = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60)/(1000*60));
var secs = Math.floor((then-now-days*1000*60*60*24-hours*1000*60*60-mins*1000*60)/(1000));
document.getElementById('VisaDay').innerText=days + " dagar ";
document.getElementById('VisaHour').innerText=addZero(hours) + " timmar ";
document.getElementById('VisaMins').innerText=addZero(mins) + " minuter ";
document.getElementById('VisaSec').innerText=addZero(secs) + " sekunder kvar";
}

setTimeout("runMany();",100);
}

window.onload = runMany;
</script>

<center>
<table border="0" cellpadding="2" cellspacing="0" width="100%">
<tr>
<td class=sommar width="21%" align="center"><div id="VisaDay"></div></b></td>
<td class=sommar width="22%" align="center"><div id="VisaHour"></div></b></td>
<td class=sommar width="22%" align="center"><div id="VisaMins"></div></b></td>
<td class=sommar width="35%" align="center"><div id="VisaSec"></div></b></td>
</tr>
</table>
</center>

jawbreakerMedlem sedan jan. 2003296 inlägg
#2

Det är innerText som ställer till det. Använd innerHTML istället så ska det fungera bättre.

LesPaulMedlem sedan apr. 200449 inlägg
#3

Du är en ängel, det fungerade perfekt! Lite nyfiken på varför det fungerar med innerHTML och inte innerTEXT. Kan du förklara problematiken på något lätt sätt?

jawbreakerMedlem sedan jan. 2003296 inlägg
#4

Finemang!

innerText är helt enkelt inte implementerad i Mozilla-webbläsarna. innerHTML är egentligen inte DOM-standard heller, men den har allmänt bättre stöd i webbläsarna. Det är alltså "säkrare" att alltid använda innerHTML och förtränga att innerText finns i vissa webbläsare, även om det bara är ren text man vill lägga till någonstans på sidan.

129 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)