Beter Sneeuwscript
Geplaatst: 03 nov 2003, 09:56
Hieronder een sneeuwscript die in je overall_header moet worden geplaatst, onderaan tussen </table> en <br />
Hiervan vallen de sneeuwvlokken wel tot onderaan je scherm. De sneeuwvlokjes verschijnen in normale grootte en worden steeds kleiner waarna ze verdwijnen. Als je wilt dat ze dezelfde grootte houden, zoek en verwijder dan:
Je vindt het bijna onderaan, onder: zIndex=lay;
Je kunt zelf de sneeuwvlokken uitkiezen. Neem bijvoorbeeld deze sneeuwvlok:
Sla de sneeuwvlok drie keer op met de rightclick-functie van je muis, en geef hem achtereenvolgens de volgende drie namen:
sneeuwvlok.gif
sneeuwvlok1.gif
sneeuwvlok2.gif
Je kunt ook drie sneeuwvlokken van verschillende kleuren nemen.
Upload de gifs naar de root. Als /forum de map is waar je index.php staan en zo, dan moet je ze daar plaatsen. En anders zet je ze in je stijl-map, waar de overall_header in staat, maar dan moet je even in de code voor de drie "sneeuwvlok-gifs" het volgende plaatsen: "templates/jouw-stijl/ En mocht dat nog niet helpen, zet ze dan in elke map voor mijn part, hehehe.
Het enige nadeel wat ik tot nu toe heb opgemerkt is dat de scrollende recenter onderwerpen wat schokkerig gaan als het aantal sneeuwvlokken sterk verhoogd wordt. Stel dat niet hoger in dan 15 of 20 als je dat wilt voorkomen.
Klik op mijn website om het voorbeeld te zien. Kies wel even de Appalachia stijl.
Sneeuwvlok:
Hiervan vallen de sneeuwvlokken wel tot onderaan je scherm. De sneeuwvlokjes verschijnen in normale grootte en worden steeds kleiner waarna ze verdwijnen. Als je wilt dat ze dezelfde grootte houden, zoek en verwijder dan:
Code: Selecteer alles
width=parseInt(((o[i][5]/4)*3)+((o[i][5]/4)*sizexy));
height=parseInt(((o[i][6]/4)*3)+((o[i][6]/4)*sizexy));
Je kunt zelf de sneeuwvlokken uitkiezen. Neem bijvoorbeeld deze sneeuwvlok:
Sla de sneeuwvlok drie keer op met de rightclick-functie van je muis, en geef hem achtereenvolgens de volgende drie namen:
sneeuwvlok.gif
sneeuwvlok1.gif
sneeuwvlok2.gif
Je kunt ook drie sneeuwvlokken van verschillende kleuren nemen.
Upload de gifs naar de root. Als /forum de map is waar je index.php staan en zo, dan moet je ze daar plaatsen. En anders zet je ze in je stijl-map, waar de overall_header in staat, maar dan moet je even in de code voor de drie "sneeuwvlok-gifs" het volgende plaatsen: "templates/jouw-stijl/ En mocht dat nog niet helpen, zet ze dan in elke map voor mijn part, hehehe.
Het enige nadeel wat ik tot nu toe heb opgemerkt is dat de scrollende recenter onderwerpen wat schokkerig gaan als het aantal sneeuwvlokken sterk verhoogd wordt. Stel dat niet hoger in dan 15 of 20 als je dat wilt voorkomen.
Code: Selecteer alles
<SCRIPT language="Javascript">
var fallg=new Array();
//verander hieronder de variabelen
var no=15, // aantal sneeuwvlokken
speed=1, // vertragings snelheid
slider=50, // bewegen van sneeuwvlokken van links naar rechts ( in pixels )
fallmax=8, // maximale snelheid van vallen
wind=1; // wel of geen invloed van zijwind ( 1 0f 0 )
fallg[0]=new Array("sneeuwvlok.gif",25,28,1); //
fallg[1]=new Array("sneeuwvlok1.gif",25,28,1); //
fallg[2]=new Array("sneeuwvlok2.gif",25,28,1); //
//verander hieronder niets meer....
var o=new Array(), tog=1;
var ns4 = (document.layers) ? true : false;
var ie4 = (document.all) ? true : false;
var ns6 = (document.getElementById&&!document.all) ? true : false;
if(ie4) falllayer="document.all['gf'+i].style";
if(ns4) falllayer="document.layers['gf'+i]";
if(ns6) falllayer="document.getElementById('gf'+i).style";
function winWid(){ return (ns4||ns6) ? window.innerWidth : document.body.clientWidth; }
function winHei(){ return (ns4||ns6) ? window.innerHeight : document.body.clientHeight; }
function winOfy(){ return (ns4||ns6) ? window.pageYOffset : document.body.scrollTop; }
function togFall(){
if (tog==1){
clearTimeout(dofall);
for (i = 0; i < no; i++) { with(eval(falllayer)){ top = 0; left = -500; } }
tog=0;
}else{
tog=1;
fall();
}
}
function newobj(q,t){
x=parseInt(Math.random()*fallg.length);
spin = parseInt(Math.random()*slider);
spin = (Math.random()>0.5) ? spin : -spin;
o[q] = new Array(parseInt(Math.random()*(winWid()-slider)),-30,spin,0.02+Math.random()/10,parseInt(1+Math.random()*fallmax),fallg[x][1],fallg[x][2],fallg[x][0],fallg[x][3],0);
if(t==1){
if(ns4){ document.write('<layer name="gf'+q+'" left="0" top="0" visibility="show"><img src="'+o[q][7]+'" border="0"></layer>'); }
if(ie4||ns6){ document.write('<img src="'+o[q][7]+'" border="0" id="gf'+q+'" style="POSITION: absolute; Z-INDEX: -'+q+'; VISIBILITY: visible; TOP: 0px; LEFT: 0px;">'); }
}
if(t==0 && !ns4){
tem=(ie4)?document.all['gf'+q]:document.getElementById('gf'+q);
tem.src=o[q][7];
}
}
function fall(){
for (i = 0; i < no; i++) {
if((o[i][1]>winHei()-o[i][6]-10)||(o[i][0]>winWid()-slider-o[i][5])){ newobj(i,0); }
o[i][1] += o[i][4];
o[i][0]+=wind;
o[i][9] += o[i][3];
sizexy=(o[i][8]==1)?Math.sin(o[i][9]):1;
lay=(ie4)?sizexy:parseInt(sizexy+1);
with(eval(falllayer)){
top = o[i][1]+winOfy();
left = o[i][0]+o[i][2]*Math.cos(o[i][9]);
if(!ns4){
zIndex=lay;
width=parseInt(((o[i][5]/4)*3)+((o[i][5]/4)*sizexy));
height=parseInt(((o[i][6]/4)*3)+((o[i][6]/4)*sizexy));
}
}
}
dofall = setTimeout("fall()", speed);
}
for (i = 0; i < no; i++){ newobj(i,1); }
dofall = setTimeout("fall()", 100);
</SCRIPT>
Sneeuwvlok: