Avatar billede mpj Nybegynder
10. oktober 2000 - 20:52 Der er 16 kommentarer og
1 løsning

count down!

Jeg har denne kode...:
<SCRIPT LANGUAGE=\"javascript\">
var tiden = 10;
function rolltime() {
var tiden = 10;
mindst = 1;
if (tiden >= mindst) {
tiden--;
settimeout(\"rolltime()\",1000);
}
}
</SCRIPT>

Kaldes i body med:
onload=\"java script:rolltime();\"

Og i siden med:

<SCRIPT LANGUAGE=\"javascript\">
document.write(\"Counting down: \" + tiden + \" ...\")
</SCRIPT>

Men...
Det virker jo selvfølgelig ikke...
Den kan jo ikke opdatere hele siden eller hvad?
Og hvordan skal jeg få lavet det her noget...
Det er noget KLAGE... :-(
ER der ike lige en venlig sjæl der lige kan løse mit problem?

MPJ
Avatar billede mpj Nybegynder
10. oktober 2000 - 20:53 #1
Jeg ved at tiden defineres to gange, men det var lige en prøve jeg lige skulle lave da den ellers skrev at tiden ikke var defineret!
Avatar billede bbs Nybegynder
10. oktober 2000 - 21:10 #2
den her nedtælling virker:
___________________________________________________________________

<script language=javascript>

function nedtaeling() {
setTimeout(\"nedtaeling()\",1000)
with (Math) {
var idag=new Date();
var imorgen=new Date(\"January 1, 2100 00:00:00\");
var ialtsek=(imorgen.getTime() - idag.getTime())/1000;
var aar=floor(ialtsek/31536000)
var rest1=(ialtsek-(aar*31536000))
var maaneder=floor(rest1/2628000)
var rest2=(rest1 - (maaneder*2628000))
var dage=floor(rest2/86400)
var rest3=(rest2 - (dage*86400))
var timer=floor(rest3/3600)
var rest4=(rest3 - (timer*3600))
var minutter=floor(rest4/60)
var sekunder=floor(rest4 - (minutter*60))

var tid = ((timer < 10) ? \"0\" : \"\") + timer
tid += ((minutter < 10) ? \":0\" : \":\") + minutter
tid += ((sekunder < 10) ? \":0\" : \":\") + sekunder
document.nedtael.tid.value = tid
document.nedtael.dage.value = dage
document.nedtael.maaneder.value = maaneder
document.nedtael.aar.value = aar } }

</script>

</head>

<body onload=\"nedtaeling()\">
<center>

<form name=\"nedtael\" action=\"0\">
<table>
<tr><td><p align=\"center\"><font size=\"2\" face=\"Verdana\">År</font><td><p align=\"center\"><font size=\"2\" face=\"Verdana\">Måneder</font><td><p align=\"center\"><font size=\"2\" face=\"Verdana\">Dage</font><td><p align=\"center\"><font size=\"2\" face=\"Verdana\">Tid</font>
<tr>
<td><input type=\"text\" name=\"aar\" size=\"6\">
<td><input type=\"text\" name=\"maaneder\" size=\"6\">
<td><input type=\"text\" name=\"dage\" size=\"6\">
<td><input type=\"text\" name=\"tid\" size=\"8\">
</table>
</form>

<p align=\"center\"><font size=\"2\" face=\"Verdana\">Til år 2100</font>
Avatar billede mpj Nybegynder
10. oktober 2000 - 21:17 #3
Ja... det er som meget godt...
Men den skal ikke være i input bokse, og den skal ikke tælle ned til noget specielt!
bare ti sekundos efter den begyndte...
10,9,8,7,6,5,4,3,2
Avatar billede spacey Nybegynder
10. oktober 2000 - 21:38 #4
Prøv med dette...
<html>
<head>
<script language=\"JavaScript\">
<!--
var ns = document.layers;
var ie = document.all;
var myTime = 30;
function countDown() {
    if (ns) {
        document.layers[\'tid\'].document.open();
        document.layers[\'tid\'].document.write(\"<span class=\'tid\'>\"+myTime+\"</span>\");
        document.layers[\'tid\'].document.close();
    } else if (ie) {
        document.all[\'tid\'].innerHTML = myTime;
    }
    if (myTime == 0) {
        alert(\'Bingo\');
    }else if (myTime > 0) {
        myTime--;
        setTimeout(\"countDown()\",1000);
    }
}
//-->
</script>

</head>
<body bgcolor=\"#ffffff\" onload=\"countDown()\">
<div id=\"tid\"></div>

</body>
</html>
Avatar billede el_gnu Nybegynder
10. oktober 2000 - 21:46 #5
´Her det i et layer:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">
<HTML>
<HEAD>
    <TITLE>[Ingen titel]</TITLE>
<META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\">

<SCRIPT TYPE=\"text/javascript\">
NS = document.layers ? true : false;
IE = document.all ? true : false;

function skriv(text, divTag) {
    if (NS) {
        document.layers[divTag].document.open();
        document.layers[divTag].document.write(text);
        document.layers[divTag].document.close();
    }
    else if (IE) {
        document.all[divTag].innerHTML = text;
    }
}

var tiden = 10;
var mindst = 1;

function rollTime() {
    skriv(\'Counting down: \' + tiden + \'...\', \'myDiv\');
    if (tiden >= mindst) {
        tiden--;
        setTimeout(\"rollTime()\",1000);
    }
}

</SCRIPT>


</HEAD>
<BODY onLoad=\"rollTime();\">

<div ID=\"myDiv\" style=\"position:absolute; left:0; top:0;\">

</div>

</BODY>
</HTML>
Avatar billede el_gnu Nybegynder
10. oktober 2000 - 21:47 #6
sorry spacey, havde ikke set din kommentar.
Du har vist også glem at positionere dit <div> tag absolut
Avatar billede spacey Nybegynder
10. oktober 2000 - 22:00 #7
el_gnu>>> Det skulle da ikke være nødvendigt...

MPJ>>>> HVorfor afviste du mit?
Jeg syntes godt du kunne give points!!!
Avatar billede mpj Nybegynder
10. oktober 2000 - 22:03 #8
gnu>>

DEt virker skam også...
Men hvordan laver jeg så mit smarte nummer, så at den laver
document.location.href=
Når den når nul?
Avatar billede spacey Nybegynder
10. oktober 2000 - 22:05 #9
Mpj>>>

Prøv:

<html>
<head>
<script language=\"JavaScript\">
<!--
var ns = document.layers;
var ie = document.all;
var myTime = 5;
function countDown() {
    if (ns) {
        document.layers[\'tid\'].document.open();
        document.layers[\'tid\'].document.write(\"<span class=\'tid\'>\"+myTime+\"</span>\");
        document.layers[\'tid\'].document.close();
    } else if (ie) {
        document.all[\'tid\'].innerHTML = myTime;
    }
    if (myTime == 0) {
        document.location.href = \"http://www.eksperten.dk\"
    }else if (myTime > 0) {
        myTime--;
        setTimeout(\"countDown()\",1000);
    }
}
//-->
</script>

</head>
<body bgcolor=\"#ffffff\" onload=\"countDown()\">
<div id=\"tid\"></div>

</body>
</html>
Avatar billede mpj Nybegynder
10. oktober 2000 - 22:06 #10
spacey>>

Jep... det forstår jeg godt...
Men for det første var det et uheld at gnuen fik alle pointene og for det andet virkede dit script ikke...
Men jeg vil da gerne give nogle point hvis du er sur? eller noget?
Avatar billede el_gnu Nybegynder
10. oktober 2000 - 22:07 #11
spacey => uden absolut positionering kan du ikke skrive til lag i NS!!!

mpj =>

function rollTime() {
    if (tiden == 0) {
        location.href = \'nySide.html\';
        return;
    }
    skriv(\'Counting down: \' + tiden + \'...\', \'myDiv\');
    if (tiden >= mindst) {
        tiden--;
        setTimeout(\"rollTime()\",1000);
    }
}

Avatar billede spacey Nybegynder
10. oktober 2000 - 22:08 #12
mpj>>> Virker ikke?
Det skulle da højst være i NS pga. den absolutte positionering...

Og nej, jeg er da ikke sur, ville bare gerne vide hvorfor du accepterede el_gnus svar, når jeg havde svaret først...
Avatar billede mpj Nybegynder
10. oktober 2000 - 22:19 #13
spacey>>

Vil du da have point?
Avatar billede spacey Nybegynder
10. oktober 2000 - 22:20 #14
mpj>>> Nej, det er ikke så vigtigt med de skide points, de kan ikke bruges til noget alligevel :-)
Avatar billede mpj Nybegynder
10. oktober 2000 - 22:26 #15
Det er såmænd en god indstilling du har, men grunden til at dit script ikke virkede var at kaldet i min body stadig hed rolltime() og ikke countdown...

Så det må du undskylde!
Avatar billede spacey Nybegynder
10. oktober 2000 - 23:57 #16
Det er bare iorden :-)
Avatar billede engberg Juniormester
05. april 2006 - 14:13 #17
Hvis jeg copy/paster koden, så skriver den at der er en fejl i nærheden af der hvor det går over til at blive <body>

Er der ikke en der vil sætte det sammen, så det ligger til at kopiere til en .html-side...
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