Noch ne Frage ... Schneeflocken ...

  • Hi,

    ich bins schon wieder. :D

    Hab mal ne Runde gegoogeld und mehrer JavaScripts gefunden, mit denen man Schneeflocken auf seiner HP schneien lassen kann. aber irgendwie hat das alles mit dem einfügen nicht geklappt.
    Hat jemand von euch ein brauchbares Script und wenn möglich auch ne "einbauanleitung" damit das endlich mal bei mir funktioniert.
    Das entsprechende GIF hab ich schon.
    Danke

    Dirki

  • Hi,

    hab das hier, von http://www.homepage-baumeister.de/index_2.htm :

    <script language="JavaScript1.2">


    var snowsrc="Schnee.gif"
    var no = 10;

    var ns4up = (document.layers) ? 1 : 0;
    var ie4up = (document.all) ? 1 : 0;

    var dx, xp, yp;
    var am, stx, sty;
    var i, doc_width = 800, doc_height = 600;

    if (ns4up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
    } else if (ie4up) {
    doc_width = document.body.clientWidth;
    doc_height = document.body.clientHeight;
    }

    dx = new Array();
    xp = new Array();
    yp = new Array();
    am = new Array();
    stx = new Array();
    sty = new Array();

    for (i = 0; i < no; ++ i) {
    dx[i] = 0;
    xp[i] = Math.random()*(doc_width-50);
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;
    stx[i] = 0.02 + Math.random()/10;
    sty[i] = 0.7 + Math.random();
    if (ns4up) {
    if (i == 0) {
    document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"></a></layer>");
    } else {
    document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"></layer>");
    }
    } else if (ie4up) {
    if (i == 0) {
    document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"></a></div>");
    } else {
    document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"></div>");
    }
    }
    }

    function snowNS() {
    for (i = 0; i < no; ++ i) {
    yp[i] += sty[i];
    if (yp[i] > doc_height-50) {
    xp[i] = Math.random()*(doc_width-am[i]-30);
    yp[i] = 0;
    stx[i] = 0.02 + Math.random()/10;
    sty[i] = 0.7 + Math.random();
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
    }
    dx[i] += stx[i];
    document.layers['dot'+i].top = yp[i];
    document.layers['dot'+i].left = xp[i] + am[i]*Math.sin(dx[i]);
    }
    setTimeout("snowNS()", 10);
    }

    function snowIE() {
    for (i = 0; i < no; ++ i) {
    yp[i] += sty[i];
    if (yp[i] > doc_height-50) {
    xp[i] = Math.random()*(doc_width-am[i]-30);
    yp[i] = 0;
    stx[i] = 0.02 + Math.random()/10;
    sty[i] = 0.7 + Math.random();
    doc_width = document.body.clientWidth;
    doc_height = document.body.clientHeight;
    }
    dx[i] += stx[i];
    document.all['dot'+i].style.pixelTop = yp[i];
    document.all['dot'+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
    }
    setTimeout("snowIE()", 10);
    }

    if (ns4up) {
    snowNS();
    } else if (ie4up) {
    snowIE();
    }

    </script>

    Hab ja schon bei mehreren gelesen das es geht, deshalb versteh ich nicht, warum es bei mir nicht geht.
    Das einzufügen ist ja eigentlich nicht so schwer. Aber irgendwie schein ich mich etwas dusselig anzustellen.
    Wenn es also jemand Funktionierend einbinden könnte, und mir dann mal den Quelltext zur Verfügung stellt, wäre ich sehr dankbar.

    Mfg
    Johannes

  • sollte eigentlich funktionieren, die ganze sache.
    deine hmt datei sollte so aussehen.
    du mußt bloß darauf achten das dein body eine andere farbe als weiß hat, da die schneeflocken schon weiß sind. das gif mit der schneeflocke sollte im gleichem verzeichnis wie das script liegen, und der name der datei sollte exakt sein.



    [/code]

  • Hi,

    Jepp, habs jetzt auch zum laufen bekommen.
    Leider nur im IE und im T-Online Browser. Unter Mozilla scheint es nicht zu laufen. Kann man was dagegen tun bzw. gibt es eine andere Version, die mit allen Browsern kompatibel ist.
    Noch ne andere Frage dazu:
    Hab das ganze mal in einem Frameset ausprobiert, aber da muss mann es dann immer in die einzelnen Frames (Kopf-, Fuss-, Navi- und Hauptteil) einzeln einfügen, was ja etwas komisch aussieht.
    Gibt es dafür eine Möglichkeit, das es komplett über alle Frames schneit?

    Mfg
    Dirki

  • das script wirst du nicht auf allen browsern zum laufen bekommen. es gibt aber auf jeden fall fertige scripte die unter allen möglichen browsern getestet wurden und funktionieren. mußte mal googeln.

    falls du dein frameset mit html aufgebaut hast, geht es nicht, es über den kompletten frame schneien zu lassen.
    besser wäre es, du baust dein frameset in eine php datei und bindest das script dort ein.

  • Hi,

    Zitat von mop

    falls du dein frameset mit html aufgebaut hast, geht es nicht, es über den kompletten frame schneien zu lassen.
    besser wäre es, du baust dein frameset in eine php datei und bindest das script dort ein.

    FRAGEZEICHEN

    ich habe diesen Satz bestimmt 20x gelesen und nicht verstanden - wahrscheinlich bin ich zu blöd für PHP.
    Wie bitte baut man mit einer PHP-Datei ein Frameset ?

    Fragt ...

    Ronald
    ... der jetzt in den Keller geht und mal schaut, was er noch für Bücher findet

  • wenn das java script nun am quellcodeanfang eingefügt wird, könnte es über das gesamte frameset "schneien".

  • Hi mop,

    nun bin ich aber beruhigt, ich dachte schon ich hätte etwas verpaßt.

    Allerdings ist dein Frameset gar kein PHP, sondern immer noch HTML.
    Mit 'echo' kannst du innerhalb PHP jeden beliebigen HTML-Code, Javascript und was auch immer ausgeben, du siehst es daran, daß ein normaler HTML-Quelltext entsteht.

    War also nix ...


    Ach ja, wenn das mit dem Schnee so klappt, dann werden dafür die Frames nicht mehr funktionieren.

    .. oder ich hab wirklich was verpaßt!

    Ronald