Bildschirm definieren
Tobias
- javascript
0 Jörg Peschke0 Tobias
Hi,
wie schon in einem vorherigen Thread gepostet, gehen auf meiner Seite die Schneeflocken zu weit nach unten, so das Scrollbalken erscheinen.
-> www.toeb.de
Das ist der Code:
//Configure below to change URL path to the snow image
var snowsrc="";
var snowsrc1="snow/snow6.gif";
var snowsrc2="snow/snow5.gif";
var snowsrc3="snow/snow4.gif";
// Configure below to change number of snow to render
var no = 25;
var ns4up = (document.layers) ? 1 : 0; // browser sniffer
var ie4up = (document.all) ? 1 : 0;
var ns6up = (document.getElementById&&!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||ns6up) {
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) {
snowsrc = eval("snowsrc"+RanSpan(1,3));
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" top="15" visibility="show"><a href="http://dynamicdrive.com/" target="_blank"><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 (ie4up||ns6up) {
if (i == 0) {
document.write("<div id="dot"+ i +"" style="POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;"><a href="http://dynamicdrive.com" target="_blank"><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>");
}
}
}
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) {
xp[i] = Math.random()*(doc_width-am[i]-10);
yp[i] = -5;
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()", 30);
}
function snowIE_NS6() { // IE and NS6 main animation function
for (i = 0; i < no; ++ i) { // iterate for every dot
yp[i] += sty[i];
if (yp[i] > doc_height) {
xp[i] = Math.random()*(doc_width-am[i]-10);
yp[i] = -5;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
doc_width = ns6up?window.innerWidth : document.body.clientWidth;
doc_height = ns6up?window.innerHeight : document.body.clientHeight;
}
dx[i] += stx[i];
if (ie4up){
document.all["dot"+i].style.pixelTop = yp[i];
document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
}
else if (ns6up){
document.getElementById("dot"+i).style.top = yp[i];
document.getElementById("dot"+i).style.left = xp[i] + am[i]*Math.sin(dx[i]);
}
}
setTimeout("snowIE_NS6()", 30);
}
function Random(N) {
return Math.floor(N*(Math.random()%1))
}
function RanSpan(MinV, MaxV) {
return MinV + Random(MaxV-MinV+1)
}
function LetItSnow() {
//if (ns4up) {
// snowNS();
//} else if (ie4up||ns6up) {
// snowIE_NS6();
//}
if (ie4up) {
snowIE_NS6();
}
}
Sieht jemand wo ich das begrenzen kann. Hab mir es schon durchgeschaut, da ich aber nur PHP kann, komm ich hier leide rnicht weiter.
Grüße
Tobias
Hallo nochmnal,
if (yp[i] > doc_height) {
if (yp[i] > doc_height -10) {
...
oder -20 oder -5, musst ein bisschen damit rumptobieren, was noch sinn macht, und gut aussieht.
Gruesse,
Joerg
Es funktioniert!
Danke schön!!