Gebruik nu een snowscript op me website, alleen hebben een paar members gevraagd of er een mogelijkheid is om het script aan en uit te zetten.
Ik draai Vbulletin en heb dus het volgende snowscript in me header staan, nu vroeg ik me af of het mogelijk was om door wijze van een knop of link het script uit te zetten.
Hier is het script, heb er een beetje in geklooid om de sneeuwvlokken wat groter te maken, voor de rest staat alles nog zoals et hoort:
Kreeg de volgende tips van wat mede tweakers, helaas zat ik in et verkeerde forum
Ik draai Vbulletin en heb dus het volgende snowscript in me header staan, nu vroeg ik me af of het mogelijk was om door wijze van een knop of link het script uit te zetten.
Hier is het script, heb er een beetje in geklooid om de sneeuwvlokken wat groter te maken, voor de rest staat alles nog zoals et hoort:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
| <script language="JavaScript">
<!--
function tmt_winControl(id,c){
var d=eval(id)==null||eval(id+".closed");
if(!d){eval(id+"."+c);}
}
//-->
</script>
</head>
<!-- use below as your body tag -->
<body bgcolor=#000000 onLoad="snow()" link="#FFFF00">
<!-- paste script in body -->
<p>
<script language="JavaScript">
<!-- Snow Script by kurt.grigg@virgin.net
N = 30;
Y = new Array();
X = new Array();
S = new Array();
A = new Array();
B = new Array();
M = new Array();
V = (document.layers)?1:0;
iH=(document.layers)?window.innerHeight:window.document.body.clientHeight;
iW=(document.layers)?window.innerWidth:window.document.body.clientWidth;
for (i=0; i < N; i++){
Y[i]=Math.round(Math.random()*iH);
X[i]=Math.round(Math.random()*iW);
S[i]=Math.round(Math.random()*6+2);
A[i]=0;
B[i]=Math.random()*0.1+0.1;
M[i]=Math.round(Math.random()*4+3);
}
if (V){
for (i = 0; i < N; i++)
{document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0 BGCOLOR='#FFFFF0'
CLIP='0,0,"+M[i]+","+M[i]+"'></LAYER>")}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px">');
document.write('<div style="position:relative">');
for (i = 0; i < N; i++)
{document.write('<div id="si"
style="position:absolute;top:0;left:0;width:'+M[i]+';height:'+M[i]+';background:#fffff0;font
-size:'+M[i]+'"></div>')}
document.write('</div></div>');
}
function snow(){
var H=(document.layers)?window.innerHeight:window.document.body.clientHeight;
var W=(document.layers)?window.innerWidth:window.document.body.clientWidth;
var T=(document.layers)?window.pageYOffset:document.body.scrollTop;
var L=(document.layers)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i < N; i++){
sy=S[i]*Math.sin(90*Math.PI/180);
sx=S[i]*Math.cos(A[i]);
Y[i]+=sy;
X[i]+=sx;
if (Y[i] > H){
Y[i]=-10;
X[i]=Math.round(Math.random()*W);
M[i]=Math.round(Math.random()*1+1);
S[i]=Math.round(Math.random()*5+2);
}
if (V){document.layers['sn'+i].left=X[i];document.layers['sn'+i].top=Y[i]+T}
else{si[i].style.pixelLeft=X[i];si[i].style.pixelTop=Y[i]+T}
A[i]+=B[i];
}
setTimeout('snow()',10);
}
//-->
</script> |
Kreeg de volgende tips van wat mede tweakers, helaas zat ik in et verkeerde forum
Je zal een knop op je site moeten zetten die onClick een variabele (bOn ofzo) op false zet en dan in je snowscript dit veranderen:
code:
if(bOn) setTimeout('snow()',10);
Verdere uitwerking laat ik aan de lezer over... (btw, op deze manier is uit ook ECHT uit, zonder F5 krijg je het niet meer aan. En deze oplossing werkt alleen voor 1 pagina, dus als je op een linkje klikt, is het weer aan)
Om dit goed te laten werken zul je niet alleen dit javascript moeten modden, maar ook vBulletin, dus echt een simpel klusje is dit bepaald niet.
Bovendien is dit javascript en geen Java, zit 1 van mn favo talen eens niet zo te beledigen
Je kunt het ook 'toggelen':
--------------------------------------------------------------------------------
function snowOn() {
snowTime = setTimeout('snow()',10);
}
function snowOff() {
if (snowTime) clearTimeout (snowTime);
}
--------------------------------------------------------------------------------
oid
(maar is inderdaad JS en dus W&G.. al zijn we niet zo happig op het aanpassen van andermans scripts dus geef ik hem daar geen lang leven )
Hoe pas je zoiets alleen toe? Me know-how van java is zeer klein, tis meer een gunst of iemand er ff naar zou willen kijken.je kan gewoon clearTimeout('snow') in een functie stoppen. De naam van dat 'clear' moet j ff opzoeken.
Signature?