Avatar billede renechristensen Nybegynder
31. august 2003 - 01:29 Der er 9 kommentarer og
1 løsning

nedtælling ved 0 åben en ny side

jeg har fundet en kode som jeg kan bruge men jeg har prøvet alt mulig men jeg kan ikke få den til at åbne et nyt vindug ved 0 sek jeg har prøvet at sætte

    timerID=setTimeout("CountDown()", 100)
                }else{
                    top.location.href="reloadThisPage.htm"
                }
            }
window.setTimeout('CountDown()',100);

her er koden som gærne skulle likke til grund for den

<html>
<head>
<title>prøve</title>
<script language=javascript>
var x=30;
var y=0;
var t=0;
var k=0;

function countdown(){
    if (!document.getElementById) return;
    document.getElementById("min").innerHTML = x;
    document.getElementById("sek").innerHTML = y;
    k = 0;   

    if (t == 1){x=30; y=0; t=0; k=1;}
   
    if(k == 0){
    if (y != 0) {y--;}
    else if (y == 0) {x --; y = 59;}
   
    if ((x == 0) && (y == 0)){t = 1;}}
   
    setTimeout("countdown();",1000)
  }
</script>
</head>
<body onload="countdown()">
<b><font id="min"></font><font>:</font><font id="sek"></font></b>
</body>
</html>
Avatar billede viciodk Praktikant
31. august 2003 - 01:42 #1
countdown() og CountDown er ikke det samme. Ændr så der kun står én af disse ting.
Avatar billede viciodk Praktikant
31. august 2003 - 01:43 #2
countdown() og CountDown() skulle der stå.
Avatar billede jih Nybegynder
31. august 2003 - 02:05 #3
når jeg kører en debugger på det script, står fejlen altså til at være i denne linie:

---

document.getElementById("min").innerHTML = x;

---

tror jeg oz det er, men det kan være jeg har misforstået hvad scriptet skal gøre... tager det en ny side frem, eller hvad gør det? fordi det er i hvert fald sat til at være 30 minutters ventetid.... (x = 30)
Avatar billede grunken Nybegynder
31. august 2003 - 02:45 #4
det script tæller bare ned ;)

hvad er det helt præcis du skal bruge det til ?

if ((x == 0) && (y == 0)){t = 1;}}

kan du ændre til

if ((x == 0) && (y == 0)){win=window.open(("fil.html","vinduenavn");}}

og så er den vel i vinkel :)
Avatar billede jih Nybegynder
31. august 2003 - 02:57 #5
ja, men jeg vil lige være sikker... er det ik det samme som at skrive

---

if (t == 0) {
win=window.open("fil.html","vinduenavn");
}

---

?? det ville jeg da tro, men vil bare være sikker... og grunken... to ting...
1. hvorfor har du lavet .....window.open-->((<--"fil..... (bare vide hvorfor (er selv noob (det er ik for at kritisere eller noget... er bare nybegynder indenfor javascript selv, og vil gerne vide hvorfor ;))))
2. jeg ved da godt det bare tæller ned! ;) det er bare fordi det lød som om han havde et script som fik en side frem... og det så det ik ud til at være ;)
Avatar billede jih Nybegynder
31. august 2003 - 03:04 #6
nå får den oz.... nu forstår jeg det.... han satte setTimeout til Window.setTimeout i håb om at få en ny side frem, når der var 0 sek. tilbage... nice nok... så forstår jeg.. :D man kan da bare droppe alt det med det javascript og sætte det ind i meta?

---

<META HTTP-EQUIV="Refresh" CONTENT="1800;URL=http://www.eksperten.dk/"> (hvor 1800 er hvor mange sekunder det tager, før siden åbnes (i det her tilfælde ½ time)) ;)
Avatar billede renechristensen Nybegynder
31. august 2003 - 13:03 #7
til grunken
jeg har sat den in som du skrev men nu kommer den med en fejl i line 23 & 29

<html>
<head>
<title>prøve</title>
<script language=javascript>
var x=30;
var y=0;
var t=0;
var k=0;

function countdown(){
    if (!document.getElementById) return;
    document.getElementById("min").innerHTML = x;
    document.getElementById("sek").innerHTML = y;
    k = 0;   

    if (t == 1){x=30; y=0; t=0; k=1;}
   
    if(k == 0){
    if (y != 0) {y--;}
    else if (y == 0) {x --; y = 59;}
   
    if ((x == 0) && (y == 0)){win=window.open(("fil.html","vinduenavn");}}
    setTimeout("countdown();",1000)
  }
</script>
</head>
<body onload="countdown()">
<b><font id="min"></font><font>:</font><font id="sek"></font></b>
</body>
</html>

er der en der har en løsning på det
Avatar billede grunken Nybegynder
31. august 2003 - 13:44 #8
nedenstående virker :)

<html>
<head>
<title>prøve</title>
<script language=javascript>
var x=30;
var y=0;
var t=0;
var k=0;

function countdown(){
    if (!document.getElementById) return;
    document.getElementById("min").innerHTML = x;
    document.getElementById("sek").innerHTML = y;
    k = 0;   

    if (t == 1){x=30; y=0; t=0; k=1;}
   
    if(k == 0){
    if (y != 0) {y--;}
    else if (y == 0) {x --; y = 59;}
   
    if ((x == 0) && (y == 0)){win=window.open("fil.html","vinduenavn");return false}}

   
    setTimeout("countdown();",1000)
  }
</script>
</head>
<body onload="countdown()">
<b><font id="min"></font><font>:</font><font id="sek"></font></b>
</body>
</html>

men som webpsycho skriver, så er der langt smartere måder at lave det på, eks via : meta

eller et andet lille script

<script type="text/javascript">
setTimeout("window.open('fil.html','vinduenavn')", 1000*60*30);
</script>

og webspyco>
1. jeg lavde den window.open for at få den til at åbne et vindue efter når X=0, efter som jeg trooede det var det han skulle bruge ;)
2. nej det har du så meget ret i ;D
Avatar billede jih Nybegynder
31. august 2003 - 13:55 #9
og grunken... det jeg mente, var det med 2 paranteser lige efter window.open og før fil.html.... og så har jeg vel set nu at det var en fejl... ;) såeh..... ja... :D
Avatar billede renechristensen Nybegynder
20. september 2003 - 18:11 #10
tak
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