Въпрос за промяна на скрипт з а падащи снежинки и листа?

fireman

Registered
Зравейте!
Интересувам се дали някой може да помогне за да промени скрипта за падащи снежинки и листа http://web-tourist.net/forum/viewtopic.php?t=199 така че да мога да го ползвам за излизащи отдолу нагоре водни балончета. аз правих доста промени но JS ми е доста тъмен и нищо не постигнах.
Благодаря предварително !
 
Виж този

<body>
<script type="text/javascript">

//Autumn leaves- by Kurt Grigg (kurt.grigg@virgin.net)
//Modified by Dynamic Drive for NS6 functionality
//visit http://www.dynamicdrive.com for this script
//Modified by jscheuer1 in http://www.dynamicdrive.com/forums
//for optional direction, add doctype compatibility, allow effect to
//work fully on wide pages, to not create 'dancing scrollbars' on small
//pages in some browsers & account for differences in speeds among browsers

var dir=-1 // Set 'falling' direction (1 for down, -1 for up)
var speed=60 // 12 to whatever (60 is pretty slow) higher numbers are slower
var Amount=8; // Smoothness depends on image file size, the smaller the size the more you can use!
var sway=10 // Set amount of left/right swaying of objects (default=10), higher numbers produce more sway

//Pre-load your image(s) below!
grphcs=new Array(6)
Image0=new Image();
Image0.src=grphcs[0]="bubble.gif";
Image1=new Image();
Image1.src=grphcs[1]="bubble.gif"
Image2=new Image();
Image2.src=grphcs[2]="bubble.gif"
Image3=new Image();
Image3.src=grphcs[3]="bubble.gif"
Image4=new Image();
Image4.src=grphcs[4]="bubble.gif"
Image5=new Image();
Image5.src=grphcs[5]="bubble.gif"


//////////////// Stop Editing //////////////

function iecompattest(){
return (document.compatMode && document.compatMode.indexOf("CSS")!=-1)? document.documentElement : document.body
}

Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all||window.opera)?1:0;

speed=ns6? speed-12 : speed

if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si'+i+'" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=(ns||ns6)?window.innerHeight:window.iecompattest().clientHeight;
WinWidth=(ns||ns6)?window.innerWidth-70:window.iecompattest().clientWidth;
for (i=0; i < Amount; i++){
Ypos = Math.round(Math.random()*WinHeight);
Xpos = Math.round(Math.random()*WinWidth);
Speed= (Math.random()*5+3)*dir;
Cstep=0;
Step=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=(ns||ns6)?window.innerHeight:window.iecompattest().clientHeight;
var WinWidth=(ns||ns6)?window.innerWidth-70:window.iecompattest().clientWidth;
var hscrll=(ns||ns6)?window.pageYOffset:iecompattest().scrollTop;
var wscrll=(ns||ns6)?window.pageXOffset:iecompattest().scrollLeft;
for (i=0; i < Amount; i++){
sy = Speed*Math.sin(90*Math.PI/180);
sx = Speed*Math.cos(Cstep);
Ypos+=sy;
Xpos+=sx*sway*0.1;
if (Ypos > WinHeight&&dir==1||Ypos < 0 && dir==-1){
Xpos=Math.round(Math.random()*WinWidth);
Speed=(Math.random()*5+3)*dir;
}
Ypos=(Ypos > WinHeight&&dir==1)? -60 : (Ypos < 0 && dir==-1)? WinHeight+60 : Ypos;
if (ns){
document.layers['sn'+i].left=Xpos+wscrll;
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else if (ns6){
var dirFac=dir==1? 15 : 100
document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i])+wscrll+'px';
document.getElementById("si"+i).style.top=Ypos[i]+hscrll-dirFac+'px';
}
else{
document.all["si"+i].style.left=Xpos[i]+wscrll+'px';
document.all["si"+i].style.top=Ypos[i]+hscrll+'px';
}
Cstep[i]+=Step[i];
}
setTimeout('fall()',speed);
}

window.onload=fall;

</script>
</body>
 
Здравей Galli!
Благодаря за бързия и точен отговор.Скриптът работи, не зная защо обаче хоризонталния и вертикалния скрол ще се побъркат да се местят нагоре надолу, а това е страшно дразнещо.Знаеш ли как може да се оправи този недостатък?
поздрави
 
Да допълня че съм под windows и резолюция 1024х768 ,ако има някакво значение де!
поздрави
 
Ми не знам, аз го пробвах и на 800х600 и на 1024х768 ама няма такъв ефект.
 
Galli печелиш точка , но гадния ефект със скроловете при мен продължава ( пробвах и от друг компютър за да видя дали грешката е при мен но и там беше така)
Поздрави
 
fireman каза:
Galli печелиш точка , но гадния ефект със скроловете при мен продължава ( пробвах и от друг компютър за да видя дали грешката е при мен но и там беше така)
Поздрави
Не разбирам много от js, но досега не съм виждал снежинки които да не преминават скроловете.
 

Back
Горе