Avatar billede color Nybegynder
08. juli 2004 - 16:42 Der er 3 kommentarer

2 script på samme side

Hej
Jeg har en side hvor jeg gerne vil have et count-up script. Men når jeg prøver at kopiere det ind virker mouseover i menuen ikke. Håber virkelig at nogen kan og vil hjælpe mig, da jeg bestemt ikke er nogen haj til det her.

Hilsen Tim /color

Siden er her: http://www.ridderne.dk/lukas/aktuelt.htm
Count-up scriptet skal være i den store tomme tabel.

Scriptet er her:
----------------



<html>

    <head>
        <title>Ein Countup mit JavaScript</title>
        <meta name="robots" content="noindex,nofollow">
        <style type="text/css">body{background-color:#ffffff};input {background-color:#ffffff;border-width:1};p{font-size:80%}</style>

<script language="JavaScript">
    var jahr=2001, monat=1, tag=1, stunde=0, minute=0, sekunde=0; // Start-Datum in MEZ

    function countup() {
        var startDatum=new Date(jahr,monat-1,tag,stunde,minute,sekunde);
        zielDatum=new Date(); // Aktuelles Datum

        // Countup erst berechnen und anzeigen, wenn Start-Datum überschritten wird
        if(startDatum<zielDatum)  {

            var jahre=0, monate=0, tage=0, stunden=0, minuten=0, sekunden=0;

            /* Allgemeines Vorgehen:
            * Zunächst werden die vollen Jahre gezählt
            * und anschließend der Start- und Ziel-Monat auf den jeweiligen 1. gesetzt.
            * Nun werden erst die vollen Monate vom 1. zum 1. des Start- bzw. Ziel-Monats berechnet
            * und danach die tatsächlichen Monatstage wieder mit einbezogen.
            * Dieses Vorgehen vermeidet Probleme mit den verschiedenen Monatslängen.
            * Die restliche Differenz zwischen Start- und Ziel-Zeit wird mit Tagen aufgefüllt und
            * was dann noch übrig bleibt, in Stunden, Minuten und Sekunden ausgedrückt.*/

            // Jahre
            if(startDatum<zielDatum) {
                while(startDatum<zielDatum) {
                    if(startDatum.setFullYear(startDatum.getFullYear()+1)<=zielDatum) jahre++;
                }
                startDatum.setFullYear(startDatum.getFullYear()-1);
            }

            // Restliche Tage zum Monatsende ermitteln
            var restTage=0;
            var m=startDatum.getMonth();
            if(m==1-1|| m==3-1||m==5-1||m==7-1||m==8-1||m==10-1||m==12-1) restTage=31-startDatum.getDate();
            else if(m==4-1|| m==6-1||m==9-1||m==11-1) restTage=30-startDatum.getDate();
            else if(m==2-1) {
                if(startDatum.getFullYear()%4==0 && (startDatum.getFullYear()%100!=0 || startDatum.getFullYear()%400==0)) restTage=29-startDatum.getDate(); // Schaltjahr
                else restTage=28-startDatum.getDate();
            }

            // Start- und Ziel-Tag merken und auf 1 setzen
            var startTag=startDatum.getDate();
            var zielTag=zielDatum.getDate();
            startDatum.setDate(1);
            zielDatum.setDate(1);

            // Monate
            if(startDatum<zielDatum) {
                while(startDatum<zielDatum) {
                    if(startDatum.setMonth(startDatum.getMonth()+1)<=zielDatum) monate++;
                }
                startDatum.setMonth(startDatum.getMonth()-1);
            }

            // Tatsächlichen Start- und Ziel-Tag berücksichtigen
            if(startDatum.getMonth()==zielDatum.getMonth()) {
                if(startTag<=zielTag) startDatum.setDate(startTag);
                else {
                    monate--;
                    tage=restTage+1;
                }
            }
            else {
                startDatum.setMonth(startDatum.getMonth()+1);
                if(startTag>=zielTag) tage=restTage+1;
                else {
                    monate++;
                    startDatum.setDate(startTag);
                }
            }
            zielDatum.setDate(zielTag);

            // Tage
            restTage=Math.floor((zielDatum-startDatum)/(24*60*60*1000));
            startDatum.setTime(startDatum.getTime()+restTage*24*60*60*1000);
            tage+=restTage;

            // Stunden
            stunden=Math.floor((zielDatum-startDatum)/(60*60*1000));
            startDatum.setTime(startDatum.getTime()+stunden*60*60*1000);

            // Minuten
            minuten=Math.floor((zielDatum-startDatum)/(60*1000));
            startDatum.setTime(startDatum.getTime()+minuten*60*1000);

            // Sekunden
            sekunden=Math.floor((zielDatum-startDatum)/1000);

            // Anzeige formatieren
            (jahre!=1)?jahre=jahre+" Jahre,  ":jahre=jahre+" Jahr,  ";
            (monate!=1)?monate=monate+" Monate,  ":monate=monate+" Monat,  ";
            (tage!=1)?tage=tage+" Tage,  ":tage=tage+" Tag,  ";
            (stunden!=1)?stunden=stunden+" Stunden,  ":stunden=stunden+" Stunde,  ";
            (minuten!=1)?minuten=minuten+" Minuten  und  ":minuten=minuten+" Minute  und  ";
            if(sekunden<10) sekunden="0"+sekunden;
            (sekunden!=1)?sekunden=sekunden+" Sekunden":sekunden=sekunden+" Sekunde";

            document.countupform.countupinput.value=jahre+monate+tage+stunden+minuten+sekunden;

        }
        // Anderenfalls alles auf Null setzen
        else document.countupform.countupinput.value="0 Jahre,  0 Monate,  0 Tage,  0 Stunden,  0 Minuten  und  00 Sekunden";

        setTimeout('countup()',200);
    }
</script>

    </head>

    <body scroll="auto" onload="countup()">
        <br>
        <p>Wie die Zeit vergeht. Schon</p>
            <form name="countupform">
                <p>
                    <input size="75" name="countupinput" style="background-color:#ffffff;border-width:0" onfocus="if(this.blur)this.blur()">
                </p>
            </form>
       
<p>ist das neue Jahrtausend alt.</p>
<p>&nbsp;</p>
    </body>
<html>
Avatar billede roenving Novice
09. juli 2004 - 08:41 #1
Fjern countup() fra onload, og indsæt en lille javascript-blok nederst !-)

<body scroll="auto">
        <br>
        <p>Wie die Zeit vergeht. Schon</p>
            <form name="countupform">
                <p>
                    <input size="75" name="countupinput" style="background-color:#ffffff;border-width:0" onfocus="if(this.blur)this.blur()">
                </p>
            </form>
       
<p>ist das neue Jahrtausend alt.</p>
<p>&nbsp;</p>
    </body>
<script type="text/javascript">countup()</script>
<html>
Avatar billede color Nybegynder
09. juli 2004 - 13:34 #2
Tak roenving... Det var da hva der sku til..!
Smid et svar for point!
Avatar billede roenving Novice
09. juli 2004 - 13:37 #3
Velbekomme '-)
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