webForumDet fria alternativet
Logga in / Bli medlem

FireFox-fel i ett script som räknar ner

JavaScript

3 svar · 356 visningar · startad av LesPaul

Medlem sedan apr. 200449 inlägg
Frågan#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>

Medlem 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.

Medlem 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?

Medlem 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.

270 ms totalt · 4 externa anrop · v20260731065814-full.df76c93f
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)