Avatar billede d.kryger Praktikant
03. december 2002 - 09:01 Der er 10 kommentarer og
1 løsning

Snefnug på skærmen

Hej Eksperter.

Jeg har det lige nu på min hjemmeside sådan at der kommer lidt sne ned over min side. Men alle snefnugene stopper ca. 1 cm. før siden stopper. Hvorfor?

html-siden:
<SCRIPT LANGUAGE="JavaScript" src="/grafik/juletema/snow.js">
</script>

snow.js:
var no = 5; // snow number
var speed = 30; // smaller number moves the snow faster
var snowflake = "/grafik/juletema/sne.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 = 400, doc_height = 500;
if (ns4up) {
  doc_width = self.innerWidth;
  doc_height = self.innerHeight;
} else if (ie4up) {
  doc_width = 500;
  doc_height = 500;
}
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=\"15\" visibility=\"show\"><img src=\"");
      document.write(snowflake + "\" border=\"0\"></layer>");
    } else {
      document.write("<layer name=\"dot"+ i +"\" left=\"15\" ");
      document.write("top=\"15\" 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: 15px; 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: 15px; 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();
}
Avatar billede metal_hansen Nybegynder
03. december 2002 - 09:15 #1
Ved mig stopper den ca. 1mm før kanten!
http://217.157.173.133/snevejr.html
Avatar billede d.kryger Praktikant
03. december 2002 - 09:28 #2
Det gør den altså ikke ved mig...
Avatar billede metal_hansen Nybegynder
03. december 2002 - 09:29 #3
heller ikke når du bruger mit link?
Avatar billede d.kryger Praktikant
03. december 2002 - 09:30 #4
Jo, men hvis jeg ligger den over på min server er det det samme igen...
Avatar billede metal_hansen Nybegynder
03. december 2002 - 09:32 #5
du har set jeg ikke bruger en .js fil, men har sat koden direkte i htmldokumentet?!
ka måske ha noget at sige?`?!
Avatar billede d.kryger Praktikant
03. december 2002 - 09:36 #6
Ja, det har jeg set...

Se evt: http://www.pen10.dk/snevejr.html
Avatar billede metal_hansen Nybegynder
03. december 2002 - 09:45 #7
hmm - jeg kan se at det kommer an på hvilken gif der blir brugt - dvs. billedets størrelse har noget at sige!
http://217.157.173.133/snevejr.html
http://217.157.173.133/sne.html
Avatar billede d.kryger Praktikant
03. december 2002 - 09:51 #8
Kan man ikke lave om i scriptet???
Avatar billede metal_hansen Nybegynder
03. december 2002 - 09:52 #9
jeg er ikke en ørn til scripts - jeg har kigget på det, uden succes.
Men måske har en af hajerne herinde svaret?!
Avatar billede criterius.dk Nybegynder
03. december 2002 - 09:53 #10
du kan bare bruge den på www.firewerx.dk ...
Avatar billede zeptic Nybegynder
03. december 2002 - 10:24 #11
Det ser ud til, at du skal vide den præcise dimension af dit billede, for scriptet antager at de er 15x15 pixels. Da dit billede er 10x10 skal du ændre følgende:

if (ns4up) {                      // set layers
    if (i == 0) {
      document.write("<layer name=\"dot"+ i +"\" left=\"10\" ");
      document.write("top=\"10\" visibility=\"show\"><img src=\"");
      document.write(snowflake + "\" border=\"0\"></layer>");
    } else {
      document.write("<layer name=\"dot"+ i +"\" left=\"10\" ");
      document.write("top=\"10\" 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: 10px; LEFT: 10px;\"><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: 10px; LEFT: 10px;\"><img src=\"");
      document.write(snowflake + "\" border=\"0\"></div>");
    }
  }


/zeptic
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