Avatar billede appel Novice
02. december 2005 - 10:56 Der er 2 kommentarer og
1 løsning

Nedtæller ved brug af innerHtml

Jeg skal bruge en nedtæller som hele tiden tæller ned fra en given værdi. Nedtælleren skal så stå og tælle ned på siden.

Følgende script virker fint i IE, men ikke i Firefox og det er jo ikke acceptabelt...

<script language="JavaScript" type="text/javascript">
<!--
var days_per_month=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var Text ;//= document.createElement('Text');
//Text.type = 'text';

var timerID = null;
var timerRunning = false;


function showtime() {
now = new Date();
var CurHour = now.getHours();
var CurMinute = now.getMinutes();
var CurMonth = now.getMonth();
var CurDate = now.getDate();
var CurYear = now.getYear();
var CurSecond = now.getSeconds();
now = null;


Hourleft = 23 - CurHour
Minuteleft = 59 - CurMinute
Secondleft = 59 - CurSecond
var Yearleft = CurYear
var Monthleft = 11 - CurMonth
var Dateleft=days_per_month[CurMonth]-CurDate


if (Yearleft!=1) {var ys="s"} else {var ys=""};
if (Monthleft!=1) {var mos="s"} else {var mos=""}
if (Dateleft!=1) {var ds="s"} else {var ds=""}
if (Hourleft!=1) {var hs="s"} else {var hs=""}
if (Minuteleft!=1) {var mis="s"} else {var mis=""}
if (Secondleft!=1) {var ss="s"} else {var ss=""}
Text=''+Monthleft+' Month'+mos+', '
+Dateleft+' Day'+ds+', '+Hourleft+' Hour'+hs+', '+Minuteleft
+' Minute'+mis+', and '+Secondleft+' ';

if (document.layers) {
document.layers.clock.document.write(Text);
document.layers.clock.document.close();
}
else if (document.all) {

//clock.appendChild(Text);
//document.getElementsById('clock')[0].innerHTML = 'New //innerHTML';
clock.innerHTML = Text;
}



//window.status= Text;

timerID = setTimeout("showtime()",1000);
timerRunning = true;
}
var timerID = null;
var timerRunning = false;

function stopclock() {
if(timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock() {
stopclock();

showtime();
}
</script>

<style type="text/css">
<!--
.clock {
font-family: Arial;
font-size: 14px;
color: #FF0080;
}
-->
</style>
...
<body onLoad="startclock()">
...
<span class="clock" id=clock style="position:relative;"></span>
       
Har læst at det har noget at gøre med innerHtml kommandoen men har ikke været i stand til at gennemskue hvad jeg skulle ændre, så der er brug for lidt ekspertviden :-)
Avatar billede fennec Nybegynder
02. december 2005 - 11:14 #1
Ændre:
else if (document.all) {

//clock.appendChild(Text);
//document.getElementsById('clock')[0].innerHTML = 'New //innerHTML';
clock.innerHTML = Text;
}

til:
else if (document.getElementById) {
document.getElementById('clock').innerHTML = Text;
}
Avatar billede appel Novice
02. december 2005 - 11:41 #2
Perfekt! Claim dine point hvis du vil have dem!
Avatar billede fennec Nybegynder
02. december 2005 - 12:04 #3
.o) <-- One Eyed Jack
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester