Avatar billede thomasmyg Nybegynder
07. november 2003 - 22:47 Der er 5 kommentarer og
1 løsning

dalende snefnug

Jeg sidder her med et javascript, det virker og det hele, meeen der er lidt noget jeg gerne vil gøre bedre, men jeg kan ikke helt finde ud af det.
Scriptet er snefnug som daler ned over min hjemmeside, men ikke hele vejen ned. Mit spørgsmål er så, som følgende. Hvordan får jeg mine snefnug til og dale hele vejen ned på min hjemmeside ???

Her er scriptet:

<script language="JavaScript1.2">

    var no = 50; // snow number
    var speed = 0; // smaller number moves the snow faster
    var snowflake = "snow.gif";

    var ns4up = (document.layers) ? 1 : 0;  // browser sniffer
    var ie4up = (document.all) ? 1 : 0;
    var dx, xp, yp;    // coordinate and position variables
    var am, stx, sty;  // amplitude and step variables
    var i, doc_width = 1024, doc_height = 768;
    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;                        // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*20;        // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();    // set step variables
    if (ns4up) {                      // set layers
    if (i == 0) {
    document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
    document.write("top=\"99\" visibility=\"show\"><img src=\"");
    document.write(snowflake + "\" border=\"0\"></layer>");
    } else {
    document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
    document.write("top=\"99\" visibility=\"show\"><img src=\"");
    document.write(snowflake + "\" border=\"0\"></layer>");
      }
    } else if (ie4up) {
    if (i == 0) {
    document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
    document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
    document.write("visible; TOP: 99px; LEFT: 15px;\"><img src=\"");
    document.write(snowflake + "\" border=\"0\"></div>");
    } else {
    document.write("<div id=\"dot"+ i +"\" style=\"POSITION: ");
    document.write("absolute; Z-INDEX: "+ i +"; VISIBILITY: ");
    document.write("visible; TOP: 99px; LEFT: 15px;\"><img src=\"");
    document.write(snowflake + "\" border=\"0\"></div>");
          }
      }
    }
    function snowNS() {  // Netscape main animation function
    for (i = 0; i < no; ++ i) {  // iterate for every dot
    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()", speed);
    }
    function snowIE() {  // IE main animation function
    for (i = 0; i < no; ++ i) {  // iterate for every dot
    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()", speed);
    }
    if (ns4up) {
    snowNS();
    } else if (ie4up) {
    snowIE();
    }
   
    </script>
Avatar billede skovenborg Nybegynder
07. november 2003 - 22:53 #1
prøv evt. at se det her script:
http://www.btinternet.com/~kurt.grigg/javascript/
07. november 2003 - 22:53 #2
Prøv at ændre på højde og bredde i denne linie:
var i, doc_width = 1024, doc_height = 768;
Avatar billede skovenborg Nybegynder
07. november 2003 - 23:04 #3
for at det skal være mere dynamisk kunne du sige:
doc_width = (ie4up) ? document.body.clientWidth : window.innerWidth;
doc_height = (ie4up) ? document.body.clientHeight : window.innerHeight;
Avatar billede dytti Novice
08. november 2003 - 00:48 #4
Du kan også bruge den her. Den er nem og den virker:
http://dynamicdrive.com/dynamicindex3/snow.htm
Avatar billede thomasmyg Nybegynder
08. november 2003 - 10:37 #5
Nu ligger landet sådan, at jeg er rimelig tilfreds med de snefnug jeg har i mit script, jeg er også meget tilfreds med mit script, men jeg vil bare gerne ha' fnugene til og falde hele vejen ned af min hjemmeside.
Avatar billede thomasmyg Nybegynder
01. marts 2004 - 09:31 #6
har fundet ern løsning
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