Avatar billede thomaxz Nybegynder
13. september 2009 - 02:16 Der er 2 kommentarer og
1 løsning

Problem med javscript og countdown

Jeg har en simpel webside som kun består af en div med id et su1

og et kald til et script.

<html>
<head>
    <title>Nyt dokument</title>
<meta name="generator" content="TSW WebCoder">
<script src="countdown-clock.js" type="text/javascript"></script>

</head>

<body>
<script type="text/javascript">countdown(09, 12, 24, 00, 00, 1,"su1");</script>
<div id="su1">--</div>
</body>
</html>


mit script ser såanda ud

function countdown_clock(tag,year, month, day, hour, minute, format)
        {
        //I chose a div as the container for the timer, but
        //it can be an input tag inside a form, or anything
        //who's displayed content can be changed through
        //client-side scripting.
        html_code = '<div id="'+tag+'"></div>';

        document.write(html_code);

        countdown(tag,year, month, day, hour, minute, format);
        }

function countdown(year, month, day, hour, minute, format,tag)
        {

        alert(tag);
        alert(format);

        Today = new Date();
        Todays_Year = Today.getFullYear() - 2000;
        Todays_Month = Today.getMonth();

        //Convert both today's date and the target date into miliseconds.
        Todays_Date = (new Date(Todays_Year, Todays_Month, Today.getDate(),
                                Today.getHours(), Today.getMinutes(), Today.getSeconds())).getTime();
        Target_Date = (new Date(year, month - 1, day, hour, minute, 00)).getTime();

        //Find their difference, and convert that into seconds.
        Time_Left = Math.round((Target_Date - Todays_Date) / 1000);

        if(Time_Left < 0)
            Time_Left = 0;

        switch(format)
              {
              case 0:
                      alert("0");
                    //The simplest way to display the time left.
                    document.getElementById(tag).innerHTML = Time_Left + ' seconds';
                    break;
              case 1:
                      alert('s1');
                     

                    alert("t"+tags);
                    alert("d"+days);
                    alert("h"+hours);
                    alert("m"+minutes);
                        alert("sc"+seconds);
                     
                    //More datailed.
                    days = Math.floor(Time_Left / (60 * 60 * 24));
                    Time_Left %= (60 * 60 * 24);
                    hours = Math.floor(Time_Left / (60 * 60));
                    Time_Left %= (60 * 60);
                    minutes = Math.floor(Time_Left / 60);
                    Time_Left %= 60;
                    seconds = Time_Left;

                    dps = 's'; hps = 's'; mps = 's'; sps = 's';
                    //ps is short for plural suffix.
                    if(days == 1) dps ='x';
                    if(hours == 1) hps ='x';
                    if(minutes == 1) mps ='x';
                    if(seconds == 1) sps ='x';

                    alert(tags);
                    alert(days);
                    alert(hours);
                    alert(minutes);
                        alert(seconds);

                    document.getElementById("su1").innerHTML = days + ' day' + dps + ' ';
                    document.getElementById("su1").innerHTML += hours + ' hour' + hps + ' ';
                    document.getElementById("su1").innerHTML += minutes + ' minute' + mps + ' and ';
                    document.getElementById(tag).innerHTML += seconds + ' second' + sps;

                    alert(tags);

                    break;
              default:
                      alert("d");
                    document.all.getElementById(tag).innerHTML = Time_Left + ' seconds';
              }

          alert("n:"+tag);
        //Recursive call, keeps the clock ticking.
        setTimeout('countdown(' + year + ',' + month + ',' + day + ',' + hour + ',' + minute + ',' + format + ',' + tag +  ');', 1000);
        }

men af en eller anden grund, når det andre vidre end

alert('s1');

:s
Avatar billede zips Juniormester
13. september 2009 - 07:37 #1
Det ser ud til at det er dette script du har modificeret
http://scripts.franciscocharrua.com/countdown-clock.php

Men henter man det script de har på deres side, vil det kun virke i FF uden en doctype, der må være et mere opdateret script som virker i flere browser.

En mulighed er dette http://dynamicdrive.com/dynamicindex6/dhtmlcount.htm
Avatar billede thomaxz Nybegynder
13. september 2009 - 15:06 #2
Nå jeg fik det da til at virke med

http://dynamicdrive.com/dynamicindex6/universalcountdown.htm

Men jeg forstår stadig ikke hvorfor den når til

alert('s1');
                   
men ikke til
                   
alert("t"+tags);

lige efter :S

men læg et svar hvis du vile have pointene.
Avatar billede zips Juniormester
13. september 2009 - 15:26 #3
Her er et svar :-)

Men deler gerne point med dig.
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

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