<DIV id=dot0 style="LEFT: 0px; VISIBILITY: hidden; WIDTH: 11px; POSITION: absolute; TOP: 0px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <DIV id=dot1 style="LEFT: 0px; WIDTH: 11px; POSITION: absolute; TOP: 20px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <DIV id=dot2 style="LEFT: 0px; WIDTH: 11px; POSITION: absolute; TOP: 24px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <DIV id=dot3 style="LEFT: 0px; WIDTH: 11px; POSITION: absolute; TOP: 24px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <DIV id=dot4 style="LEFT: 0px; WIDTH: 11px; POSITION: absolute; TOP: 24px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <DIV id=dot5 style="LEFT: 0px; WIDTH: 11px; POSITION: absolute; TOP: 24px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <DIV id=dot6 style="LEFT: 0px; WIDTH: 11px; POSITION: absolute; TOP: 24px; HEIGHT: 11px"><IMG height=11 src="//gportal.hu/portal/honlapepito/image/gallery/6.gif" width=11> </DIV> <SCRIPT language=JavaScript> <!-- hide code
/* Elastic Trail script (By Philip Winston @ pwinston@yahoo.com, URL: http://www.geocities.com/pwinston/) Script featured on Dynamicdrive.com For this and 100's more DHTML scripts, visit http://dynamicdrive.com */
var nDots = 7;
var Xpos = 0; var Ypos = 0;
// fixed time step, no relation to real time var DELTAT = .01; // size of one spring in pixels var SEGLEN = 10; // spring constant, stiffness of springs var SPRINGK = 10; // all the physics is bogus, just picked stuff to // make it look okay var MASS = 1; // Positive XGRAVITY pulls right, negative pulls left // Positive YGRAVITY pulls down, negative up var XGRAVITY = 0; var YGRAVITY = 50; // RESISTANCE determines a slowing force proportional to velocity var RESISTANCE = 10; // stopping criterea to prevent endless jittering // doesn't work when sitting on bottom since floor // doesn't push back so acceleration always as big // as gravity var STOPVEL = 0.1; var STOPACC = 0.1; var DOTSIZE = 11; // BOUNCE is percent of velocity retained when // bouncing off a wall var BOUNCE = 0.75;
var isNetscape = navigator.appName=="Netscape";
// always on for now, could be played with to // let dots fall to botton, get thrown, etc. var followmouse = true;
var dots = new Array(); init();
function init() { var i = 0; for (i = 0; i < nDots; i++) { dots[i] = new dot(i); } if (!isNetscape) { // I only know how to read the locations of the // <LI> items in IE //skip this for now // setInitPositions(dots) } // set their positions for (i = 0; i < nDots; i++) { dots[i].obj.left = dots[i].X; dots[i].obj.top = dots[i].Y; } if (isNetscape) { // start right away since they are positioned // at 0, 0 startanimate(); } else { // let dots sit there for a few seconds // since they're hiding on the real bullets setTimeout("startanimate()", 1000); } }
function dot(i) { this.X = Xpos; this.Y = Ypos; this.dx = 0; this.dy = 0; if (isNetscape) { this.obj = eval("document.dot" + i); } else { this.obj = eval("dot" + i + ".style"); } }
function startanimate() { setInterval("animate()", 20); }
// This is to line up the bullets with actual LI tags on the page // Had to add -DOTSIZE to X and 2*DOTSIZE to Y for IE 5, not sure why // Still doesn't work great function setInitPositions(dots) { // initialize dot positions to be on top // of the bullets in the <ul> var startloc = document.all.tags("LI"); var i = 0; for (i = 0; i < startloc.length && i < (nDots - 1); i++) { dots[i+1].X = startloc[i].offsetLeft startloc[i].offsetParent.offsetLeft - DOTSIZE; dots[i+1].Y = startloc[i].offsetTop + startloc[i].offsetParent.offsetTop + 2*DOTSIZE; } // put 0th dot above 1st (it is hidden) dots[0].X = dots[1].X; dots[0].Y = dots[1].Y - SEGLEN; }
// just save mouse position for animate() to use function MoveHandler(e) { Xpos = e.pageX; Ypos = e.pageY; return true; }
// just save mouse position for animate() to use function MoveHandlerIE() { Xpos = window.event.x + document.body.scrollLeft; Ypos = window.event.y + document.body.scrollTop; }
if (isNetscape) { document.captureEvents(Event.MOUSEMOVE); document.onMouseMove = MoveHandler; } else { document.onmousemove = MoveHandlerIE; }
function vec(X, Y) { this.X = X; this.Y = Y; }
// adds force in X and Y to spring for dot[i] on dot[j] function springForce(i, j, spring) { var dx = (dots[i].X - dots[j].X); var dy = (dots[i].Y - dots[j].Y); var len = Math.sqrt(dx*dx + dy*dy); if (len > SEGLEN) { var springF = SPRINGK * (len - SEGLEN); spring.X += (dx / len) * springF; spring.Y += (dy / len) * springF; } }
function animate() { // dots[0] follows the mouse, // though no dot is drawn there var start = 0; if (followmouse) { dots[0].X = Xpos; dots[0].Y = Ypos; start = 1; } for (i = start ; i < nDots; i++ ) { var spring = new vec(0, 0); if (i > 0) { springForce(i-1, i, spring); } if (i < (nDots - 1)) { springForce(i+1, i, spring); } // air resisitance/friction var resist = new vec(-dots[i].dx * RESISTANCE, -dots[i].dy * RESISTANCE); // compute new accel, including gravity var accel = new vec((spring.X + resist.X)/MASS + XGRAVITY, (spring.Y + resist.Y)/ MASS + YGRAVITY); // compute new velocity dots[i].dx += (DELTAT * accel.X); dots[i].dy += (DELTAT * accel.Y); // stop dead so it doesn't jitter when nearly still if (Math.abs(dots[i].dx) < STOPVEL && Math.abs(dots[i].dy) < STOPVEL && Math.abs(accel.X) < STOPACC && Math.abs(accel.Y) < STOPACC) { dots[i].dx = 0; dots[i].dy = 0; } // move to new position dots[i].X += dots[i].dx; dots[i].Y += dots[i].dy; // get size of window var height, width; if (isNetscape) { height = window.innerHeight + window.pageYOffset; width = window.innerWidth + window.pageXOffset; } else { height = document.body.clientHeight + document.body.scrollTop; width = document.body.clientWidth + document.body.scrollLeft; } // bounce off 3 walls (leave ceiling open) if (dots[i].Y >= height - DOTSIZE - 1) { if (dots[i].dy > 0) { dots[i].dy = BOUNCE * -dots[i].dy; } dots[i].Y = height - DOTSIZE - 1; } if (dots[i].X >= width - DOTSIZE) { if (dots[i].dx > 0) { dots[i].dx = BOUNCE * -dots[i].dx; } dots[i].X = width - DOTSIZE - 1; } if (dots[i].X < 0) { if (dots[i].dx < 0) { dots[i].dx = BOUNCE * -dots[i].dx; } dots[i].X = 0; } // move img to new position dots[i].obj.left = dots[i].X; dots[i].obj.top = dots[i].Y; } }
// end code hiding --> </SCRIPT>
Cstep = new Array(); nsSize = new Array(); ns = (document.layers)?1:0; (document.layers)?window.captureEvents(Event.MOUSEMOVE):0; function Mouse(evnt) { Ymouse=(document.layers)?evnt.pageY-20:event.y-20; Xmouse=(document.layers)?evnt.pageX:event.x; } (document.layers)?window.onMouseMove=Mouse:document.onmousemove=Mouse; for (i = 0; i < Amount; i++) { Ypos[i] = Ymouse; Xpos[i] = Xmouse; Speed[i] = Math.random()*4+1; Cstep[i] = 0; Step[i] = Math.random()*0.1+0.05; grow[i] = 8; nsSize[i] = Math.random()*15+5; rate[i] = Math.random()*0.5+0.1; } if (ns) { for (i = 0; i < Amount; i++) { document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+Image0.src+" name='N' width="+nsSize[i]+" height="+nsSize[i]+"></LAYER>"); } } else { document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">'); for (i = 0; i < Amount; i++) { document.write('<img id="si" src="'+Image0.src+'" style="position:absolute;top:0px;left:0px;filter:alpha(opacity=90)">'); } document.write('</div></div>'); } function MouseBubbles() { var hscrll = (document.layers)?window.pageYOffset:document.body.scrollTop; var wscrll = (document.layers)?window.pageXOffset:document.body.scrollLeft; for (i = 0; i < Amount; i++){ sy = Speed[i] * Math.sin(270 * Math.PI / 180); sx = Speed[i] * Math.cos(Cstep[i] * 4); Ypos[i] += sy; Xpos[i] += sx; if (Ypos[i] < -40) { Ypos[i] = Ymouse; Xpos[i] = Xmouse; Speed[i] = Math.random() * 6 + 4; grow[i] = 8; nsSize[i] = Math.random() * 15 + 5; } if (ns) { document.layers['sn'+i].left = Xpos[i] + wscrll; document.layers['sn'+i].top = Ypos[i] + hscrll; } else { si[i].style.pixelLeft = Xpos[i] + wscrll; si[i].style.pixelTop = Ypos[i] + hscrll; si[i].style.width = grow[i]; si[i].style.height = grow[i]; } grow[i] += rate[i]; Cstep[i] += Step[i]; if (grow[i] > 24) grow[i] = 25; } setTimeout('MouseBubbles()', 10); } MouseBubbles(); // End --> </SCRIPT> <DIV style="LEFT: 0px; POSITION: absolute; TOP: 0px"> <DIV style="POSITION: relative"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 607px; WIDTH: 8px; POSITION: absolute; TOP: -26px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 613px; WIDTH: 8px; POSITION: absolute; TOP: -27px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 610px; WIDTH: 8px; POSITION: absolute; TOP: -24px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 620px; WIDTH: 8px; POSITION: absolute; TOP: -28px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 181px; WIDTH: 13px; POSITION: absolute; TOP: -28px; HEIGHT: 13px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 614px; WIDTH: 8px; POSITION: absolute; TOP: -26px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 629px; WIDTH: 8px; POSITION: absolute; TOP: -39px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 613px; WIDTH: 8px; POSITION: absolute; TOP: -20px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 613px; WIDTH: 8px; POSITION: absolute; TOP: -20px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 615px; WIDTH: 8px; POSITION: absolute; TOP: -26px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 178px; WIDTH: 12px; POSITION: absolute; TOP: 1px; HEIGHT: 12px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 613px; WIDTH: 8px; POSITION: absolute; TOP: -20px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 208px; WIDTH: 12px; POSITION: absolute; TOP: 20px; HEIGHT: 12px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 604px; WIDTH: 8px; POSITION: absolute; TOP: -28px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 171px; WIDTH: 15px; POSITION: absolute; TOP: -34px; HEIGHT: 15px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 616px; WIDTH: 8px; POSITION: absolute; TOP: -28px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 193px; WIDTH: 11px; POSITION: absolute; TOP: -23px; HEIGHT: 11px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 613px; WIDTH: 8px; POSITION: absolute; TOP: -20px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 599px; WIDTH: 8px; POSITION: absolute; TOP: -34px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"><IMG id=si style="FILTER: alpha(opacity=90); LEFT: 613px; WIDTH: 8px; POSITION: absolute; TOP: -20px; HEIGHT: 8px" src="http://javascript.internet.com/img/mouse-bubbles/bubblack.gif"></DIV></DIV> |