Avatar billede sp Nybegynder
20. januar 2002 - 00:54 Der er 6 kommentarer og
1 løsning

Ændring af \"hastighed\" på snevejr:-)

Jeg har det problem, at når jeg har tilføjet dette script til en side der fylder lidt mere end den tomme side det blev testet på, så kommer der ikke nok snevejr.

Der kommer en portion sne og derefter holder den en pause på ca. 5 sek indtil den næste portion.

Jeg skal altså have den til at sne meget mere indenfor de 15 sek. den kører i.
Jeg har prøvet at ændre nogle variabler, men det har ikke ændret radikalt i den måde den arbejder på.
Jeg håber derfor nogle kan hjælpe.


Jeg har erstattet var i med a, da jeg har et andet script der bruger i. Det viste sig at være problematisk med samme variabel.

mvh
Søren Peter

<script language=\"JavaScript\" type=\"text/javascript\">
<!--//
 

  //Configure below to change URL path to the snow image
  var snowsrc=\"f.gif\"
  // Configure below to change number of snow to render
  var no = 20;

  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var a, slukIgen = false;

  if (ns4||ns6) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie) {
    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 (a = 0; a < no; ++ a) { 
    dx[a] =0;                        // set coordinate variables
    xp[a] = Math.random()*doc_width;  // set position variables
    yp[a] = Math.random()*(doc_height/10);
    am[a] = Math.random()*20;        // set amplitude variables
    stx[a] = 0.02 + Math.random()/10; // set step variables
    sty[a] = 0.7 + Math.random();    // set step variables
 
   
      if (ns4) {                      // set layers
      if (a == 0) {
        document.write(\"<layer name=\\\"dot\"+ a +\"\\\" left=\\\"15\\\" top=\\\"15\\\" visibility=\\\"show\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></layer>\");
      } else {
        document.write(\"<layer name=\\\"dot\"+ a +\"\\\" left=\\\"15\\\" top=\\\"15\\\" visibility=\\\"show\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></layer>\");
      }
    } else if (ie||ns6) {
      if (a == 0) {
        document.write(\"<div id=\\\"dot\"+ a +\"\\\" style=\\\"POSITION: absolute; Z-INDEX: \"+ a +\"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></div>\");
      } else {
        document.write(\"<div id=\\\"dot\"+ a +\"\\\" style=\\\"POSITION: absolute; Z-INDEX: \"+ a +\"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></div>\");
      }
    }
  }
 
  function snowNS() {  // Netscape main animation function
if ( slukIgen ) return rydSne();

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

  function snowIE_NS6() {  // IE and NS6 main animation function
    if ( slukIgen ) return rydSne();

for (a = 0; a < no; ++ a) {  // iterate for every dot
      yp[a] += sty[a];
      if (yp[a] > doc_height-10) {
        xp[a] = Math.random()*(doc_width-am[a]-30);
        yp[a] =0;
        stx[a] = 0.02 + Math.random()/10;
        sty[a] = 0.7 + Math.random();
        doc_width = ns6?window.innerWidth : document.body.clientWidth;
        doc_height = ns6?window.innerHeight : document.body.clientHeight;
      }
      dx[a] += stx[a];
      if (ie){
      document.all[\"dot\"+a].style.pixelTop = yp[a];
      document.all[\"dot\"+a].style.pixelLeft = xp[a] + am[a]*Math.sin(dx[a]);
      }
      else if (ns6){
      document.getElementById(\"dot\"+a).style.top=yp[a];
      document.getElementById(\"dot\"+a).style.left=xp[a] + am[a]*Math.sin(dx[a]);
      } 
    }
    setTimeout(\"snowIE_NS6()\", 10);
  }


        function rydSne() {  // fjerner alle snefnug fra vinduet
    for (a = 0; a < no; ++ a) {  // iterate for every dot
        if ( ns4 ) {  // na4       
            document.layers[\"dot\"+a].visibility = \'hidden\';
        } else
        if ( document.getElementById ) {  // dom-compliant browsere
            document.getElementById(\"dot\"+a).style.visibility = \'hidden\';
        } else {  // ie4
            document.all[\"dot\"+a].style.visibility = \'hidden\';
        }
    }
}; //end rydSne()





setTimeout( \"slukIgen=true\", 15000 );
  if (ns4) {
    snowNS();
  } else if (ie||ns6) {
    snowIE_NS6();
  }


-->

</script>
Avatar billede werd Nybegynder
20. januar 2002 - 01:14 #1
det er ikke jul mere... ;-)
Avatar billede werd Nybegynder
20. januar 2002 - 01:16 #2
<script>
var no = 20; // snow number
var speed = 7; // smaller number moves the snow faster
var snowflake = \"grafik/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 = 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; // 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();
}
// End --></script>
Avatar billede werd Nybegynder
20. januar 2002 - 01:16 #3
det skulle gerne virke
Avatar billede sp Nybegynder
20. januar 2002 - 02:13 #4
Jeg skal bruge det til at smide flag ned over siden istedet for sne.
Problemet er at du nok har lavet noget der virker men ikke med den nye getElementbyID.
Jeg har ændret det jeg kunne se du havde ændret i variablerne, men nu flytter elementerne sig overhovedet ikke. Prøv at se hvad fejlen er.
Og jeg skal bruge det hele også den funktion der slukker det igen.

mvh
Søren Peter

<script language=\"JavaScript\" type=\"text/javascript\">
<!--//
 

  //Configure below to change URL path to the snow image
  var snowsrc=\"fane.gif\"
  // Configure below to change number of snow to render
  var no = 20;
  var speed = 7;
  var slukIgen = false;
  var doc_width = screen.width;
  var doc_height = screen.height;
  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var a;
   
  if (ns4||ns6) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  } else if (ie) {
    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 (a = 0; a < no; ++ a) {
dx[a] = 0; // set coordinate variables
xp[a] = Math.random()*(doc_width-50); // set position variables
yp[a] = Math.random()*doc_height;
am[a] = Math.random()*20; // set amplitude variables
stx[a] = 0.02 + Math.random()/10; // set step variables
sty[a] = 0.7 + Math.random(); // set step variables

   
      if (ns4) {                      // set layers
      if (a == 0) {
        document.write(\"<layer name=\\\"dot\"+ a +\"\\\" left=\\\"15\\\" top=\\\"15\\\" visibility=\\\"show\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></layer>\");
      } else {
        document.write(\"<layer name=\\\"dot\"+ a +\"\\\" left=\\\"15\\\" top=\\\"15\\\" visibility=\\\"show\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></layer>\");
      }
    } else if (ie||ns6) {
      if (a == 0) {
        document.write(\"<div id=\\\"dot\"+ a +\"\\\" style=\\\"POSITION: absolute; Z-INDEX: \"+ a +\"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></div>\");
      } else {
        document.write(\"<div id=\\\"dot\"+ a +\"\\\" style=\\\"POSITION: absolute; Z-INDEX: \"+ a +\"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\\\"><img src=\'\"+snowsrc+\"\' border=\\\"0\\\"></div>\");
      }
    }
  }
 
  function snowNS() {  // Netscape main animation function
if ( slukIgen ) return rydSne();

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

  function snowIE_NS6() {  // IE and NS6 main animation function
    if ( slukIgen ) return rydSne();

for (a = 0; a < no; ++ a) {  // iterate for every dot
      yp[a] += sty[a];
      if (yp[a] > doc_height-50) {
        xp[a] = Math.random()*(doc_width-am[a]-30);
        yp[a] =0;
        stx[a] = 0.02 + Math.random()/10;
        sty[a] = 0.7 + Math.random();
        doc_width = ns6?window.innerWidth : document.body.clientWidth;
        doc_height = ns6?window.innerHeight : document.body.clientHeight;
      }
      dx[a] += stx[a];
      if (ie){
      document.all[\"dot\"+a].style.pixelTop = yp[a];
      document.all[\"dot\"+a].style.pixelLeft = xp[a] + am[a]*Math.sin(dx[a]);
      }
      else if (ns6){
      document.getElementById(\"dot\"+a).style.top=yp[a];
      document.getElementById(\"dot\"+a).style.left=xp[a] + am[a]*Math.sin(dx[a]);
      } 
    }
    setTimeout(\"snowIE_NS6()\", speed);
  }


        function rydSne() {  // fjerner alle snefnug fra vinduet
    for (a = 0; a < no; ++ a) {  // iterate for every dot
        if ( ns4 ) {  // na4       
            document.layers[\"dot\"+a].visibility = \'hidden\';
        } else
        if ( document.getElementById ) {  // dom-compliant browsere
            document.getElementById(\"dot\"+a).style.visibility = \'hidden\';
        } else {  // ie4
            document.all[\"dot\"+a].style.visibility = \'hidden\';
        }
    }
}; //end rydSne()





setTimeout( \"slukIgen=true\", 15000 );
  if (ns4) {
    snowNS();
  } else if (ie||ns6) {
    snowIE_NS6();
  }


-->

</script>
Avatar billede sp Nybegynder
20. januar 2002 - 13:36 #5
Der er ikke den store forskel i scriptet. Stadigvæk kommer der ikke nok ned over siden.
Avatar billede jakoba Nybegynder
21. januar 2002 - 07:18 #6
Du er nok løbet ind i at der er grænser for hvad selv en moderne cpu kan klare.

Hvis den \"side der fylder lidt mere\" du ønsker at lægge scriptet på fx indeholder en java applet så vil der komme en pause i den retning idet Java\'s Virtuelle Maskine loades og initieres. Andre plugins (lyd, flash, video) vil give samme effekt.

Du kan tildels komme udenom det ved at aktivere den plugin på siden FØR den der skal have det altsammen, med lidt held sparer du så loadtiden da den pluin allerede ligger i ram når din snevejrsside kommer.

Men den bedste løsning er immervæk at gøre EEN ting på den side og ikke fylde for meget på.

mvh JakobA
Avatar billede sp Nybegynder
21. januar 2002 - 12:55 #7
OK
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