[JavaScript] Schnee Script

Dieses Thema im Forum "Webentwicklung" wurde erstellt von Juli06, 6. Dezember 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 6. Dezember 2008
    Schnee Script

    Hi
    Falls schon vorhanden bitte closen.

    Ich habe auf meiner Homepage ein JScript eingefügt damit es schneit. Jedoch fuktioniert es im Firefox nicht.
    Dort kommen nur links oben 2 Schneeflocken von denen eine wieder verschwindet.
    könnt ihr mir bitte helfen?
    Hier der Script:

    Code:
    var no = 18; //Anzahl der schneeflocken 
    var tempo=10 //geschwindigkeit mit der die Flocken fallen
    var schritt=1 //schrittweite mit der die Flocken fallen
    //hier die Bilder für die unterschiedlichen Flocken
    //alle bilder müssen gleich groß sein
    bilder=new Array("snow2.gif")//kannst du beliebig erweitern
    //hoehe und breite der Bilder angeben !!!!!!!!
    
    bildbreite=24
    bildhoehe=24
    
    //Browserabfrage 
    var ns4 = (document.layers) ? 1 : 0; 
    var ie4 = (document.all) ? 1 : 0; 
    var ns6 = (document.getElementById&&!document.all) ? 1 : 0; 
    var pos_ko
    if (ns4||ns6)
     { 
    //hoehe und Breite des Browserfensterns innen
    browserbreite = parseInt(self.innerWidth) 
    browserhoehe = parseInt(self.innerHeight) 
    }
    else if (ie4)
     { 
    //hoehe und Breite des Browserfensterns innen
    browserbreite = parseInt(document.body.clientWidth) 
    browserhoehe = parseInt(document.body.clientHeight) 
    } 
    pos_ko=new Array()
    
    //schleife zum füllen und erstellen der Flockenfelder 
    for (i = 0; i < no; ++ i)
    { 
    //zufälliges Bild zuweisen
    snowsrc=bilder[Math.floor(Math.random()*bilder.length)]
    if(ns4)
    document.write("<layer name=\"flocke"+ i +"\" TOP=\"15\" LEFT=\"15px\";><img src='"+snowsrc+"' border=\"0\"></layer>"); 
    
    else
    document.write("<div id=\"flocke"+ i +"\" style=\"POSITION:absolute;Z-INDEX:"+ i +";VISIBILITY:visible;TOP:15px; LEFT:15px;\"><img src='"+snowsrc+"' border=\"0\"></div>"); 
    init()
    
    } 
    //initialisieren der positionswerte und schritte
    //function wird beim Start der Seite aufgerufen und bei Größenänderungen
    function init()
    {
    pos_ko[i]=new Array()
    pos_ko[i][0] = 0; // Anfangsposition innerhalb der amplitude
    pos_ko[i][1] = Math.random()*(browserbreite-bildbreite); //horizontale Anfangsposition der Flocke 
    pos_ko[i][2] = Math.random()*(browserhoehe-bildhoehe); //Vertikale Anfangsposition der Flocke 
    pos_ko[i][3] = Math.random()*20; // bestimmt die breite der Amplitude 
    pos_ko[i][4] =0.02+ Math.random()/10; // Bewegung innerhalb der Amplitude 
    pos_ko[i][5] = schritt + Math.random(); // bewegung der Flocke nach unten 
    }
    
    function schneefall()
     {
     
    //scrollpositionen dazuaddieren
    addposy=0
    addposx=0
    if(document.all)
    {
    addposy=parseInt(document.body.scrollTop)
    addposx=parseInt(document.body.scrollLeft)
    }
    else
    {
    addposy=parseInt(window.pageYOffset);
    addposx=parseInt(window.pageXOffset);
    }
    //neue Position für jede Flocke
    for (i = 0; i < no; ++ i)
     {
    pos_ko[i][2] += pos_ko[i][5]; 
    //maximale Browserhoehe erreicht
    //Flocke neu Positionieren am oberen Rand 
    if (pos_ko[i][2] > browserhoehe-bildhoehe)
     { 
    pos_ko[i][1] = Math.random()*(browserbreite-pos_ko[i][3]-(bildbreite/2)); 
    pos_ko[i][2] = 0
    pos_ko[i][4] =0.02+ Math.random()/10; 
    pos_ko[i][5] =schritt + Math.random(); 
    } 
    pos_ko[i][0] += pos_ko[i][4]; 
    if (ie4)
    { 
    document.all["flocke"+i].style.pixelTop = pos_ko[i][2]+addposy; 
    document.all["flocke"+i].style.pixelLeft = pos_ko[i][1] + pos_ko[i][3]*Math.sin(pos_ko[i][0])+addposx; 
    if(browserbreite!=parseInt(document.body.clientWidth)|| browserhoehe!=parseInt(document.body.clientHeight))
    {
    //browser in Größe verändert?
    //werte anpassen und neu initialisieren
    browserbreite=parseInt(document.body.clientWidth)
    browserhoehe=parseInt(document.body.clientHeight)
    init()
    }
    } 
    else if (ns6)
    { 
    //browser in Größe verändert?
    //werte anpassen und neu initialisieren
    document.getElementById("flocke"+i).style.top=pos_ko[i][2]+addposy; 
    document.getElementById("flocke"+i).style.left=pos_ko[i][1] + pos_ko[i][3]*Math.sin(pos_ko[i][0])+addposx; 
    browserbreite=parseInt(window.innerWidth)
    browserhoehe=parseInt(window.innerHeight)
    
    } 
    else if(ns4)
    {
    //browser in Größe verändert?
    //werte anpassen und neu initialisieren
    document.layers["flocke"+i].top=pos_ko[i][2]+addposy; 
    document.layers["flocke"+i].left=pos_ko[i][1] + pos_ko[i][3]*Math.sin(pos_ko[i][0])+addposx; 
    browserbreite=parseInt(window.innerWidth)
    browserhoehe=parseInt(window.innerHeight)
    }
    }
    //function ruft sich selber nach vorgegebener Zeit wieder auf
    schneetimer=setTimeout("schneefall()", tempo); 
    } 
    // anzeige initialisieren
    init()
    //schneefall starten
    schneefall(); 

    Ich selbst verstehe leider gar nichts von JScript ich habe es so bekommen.
     
  2. 6. Dezember 2008
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: Schnee Script

    1. [noparse]Wozu gibt es [php][/php]?[/noparse]
    2. Was hat das mit Webdesign zu tun? > -
    3. Woher hast du das Script denn?
    4. Keiner mag Leute, die nur herkommen um eine einzige Frage zu stellen!
     
  3. 6. Dezember 2008
    Zuletzt von einem Moderator bearbeitet: 15. April 2017
    AW: Schnee Script

    1. Weiss ich nicht was du meinst
    2. Was hat es denn mit webentwicklung zu tun es sollte doch auf der Homepage schneien?
    3. das Script hab ich von hier
    4. Dafür entschuldige ich mich. (nein wirklich tut mir leid wenn ich euch verärgert habe)
     
  4. 6. Dezember 2008
    AW: Schnee Script

    habs mal verschoben und auch die tags eingefügt, die m00pd00p meinte
     
  5. 6. Dezember 2008
    AW: Schnee Script

    Bei dem Script steht dabei: für IE,NS4 und NS6 und hoeher
    Such mal nach einem für den Fuchs. Eventuell reicht auch schon eine Zeile hier:
    Code:
    //Browserabfrage 
    var ns4 = (document.layers) ? 1 : 0; 
    var ie4 = (document.all) ? 1 : 0; 
    var ns6 = (document.getElementById&&!document.all) ? 1 : 0; 
    var pos_ko
    if (ns4||ns6)
     { 
    Aber das weiß ich nicht.

    Wirst schon fündig werden..


    Liebe Grüße

    Edit: Guck mal hier..
     
  6. 6. Dezember 2008
    AW: Schnee Script

    hi, hab so ein script wie oben in der arbeit mal umgeschrieben, geht jetzt überall:

    Code:
    var snowsrc="images/schnee.png"
    var no = 25;
    var ns4up = (document.layers) ? 1 : 0; 
    var ie4up = (document.all) ? 1 : 0;
    var dx, xp, yp; 
    var am, stx, sty; 
    var i, doc_width = 1024, doc_height = 750;
    
    function snowNS() { 
     for(i = 0; i < no; ++ i) { 
     yp[i] += sty[i];
     if (yp[i] > doc_height-100) {
     xp[i] = Math.random()*(doc_width-am[i]-100);
     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-100) {
     xp[i] = Math.random()*(doc_width-am[i]-100);
     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);
    }
    
    function snowMoz() {
     for(i = 0; i < no; ++ i) { 
     yp[i] += sty[i];
     if (yp[i] > doc_height-100) {
     xp[i] = Math.random()*(doc_width-am[i]-100);
     yp[i] = 0;
     stx[i] = 0.02 + Math.random()/10;
     sty[i] = 0.7 + Math.random();
     doc_width = window.innerWidth;
     doc_height = window.innerHeight + window.pageYOffset;
     }
     dx[i] += stx[i];
     var dot = document.getElementById("dot"+i);
     dot.style.top = yp[i] + 'px';
     dot.style.left = (xp[i] + am[i]*Math.sin(dx[i])) + 'px';
     }
     setTimeout("snowMoz()", 10);
    }
    
    function initSnow() {
     if (ns4up) {
     doc_width = self.innerWidth;
     doc_height = self.innerHeight;
     } else if (ie4up) {
     doc_width = document.body.clientWidth;
     doc_height = document.body.clientHeight;
     } else {
     doc_height = window.innerHeight;
     doc_width = window.innerWidth;
     }
    
     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-100); 
     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 href=\"http://www.jswelt.de/\"><img src='"+snowsrc+"' border=\"0\"></a></layer>");
     } else {
     document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src='"+snowsrc+"' border=\"0\"></layer>");
     }
     } else {
     if (i == 0) {
     document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://java.topcool.de\"><img src='"+snowsrc+"' border=\"0\"></a></div>");
     } else {
     document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"></div>");
     }
     }
     }
    
     if (ns4up) {
     snowNS();
     } else if (ie4up) {
     snowIE();
     } else {
     snowMoz();
     } 
    }
    vor </body> einfach das schreiben:
    Code:
    <script type="text/javascript">initSnow();</script>
    viel spaß
     
  7. 6. Dezember 2008
    AW: Schnee Script

    So hab jetzt mal den link von tBLo ausprobiert.
    und es funktioniert. Vielen Dank :klatsch:
    Falls man es jetzt nicht mehr braucht kann man es jetzt closen
     
  8. 6. Dezember 2008
    AW: Schnee Script

    Du kannst es auch selbst closen, indem du rechts direkt über deinem ersten Thread auf Themen-Optionen und dann auf Ok klickst.
     
  9. 6. Dezember 2008
    AW: Schnee Script

    lol das is das selbe wie ich gepostet hab nur mit nem pseudo-namepsace

    ich close dann mal
     
  10. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.