more on portfolio









August 2008
M T W T F S S
« May «-»  
 123
45678910
11121314151617
18192021222324
25262728293031






 


How to: Make bubbles when the mouse move

Log entry of September 6th 2007 06:44:11 am
Filed under: Codes Related, How To, Javascripts, Snippets
« How to: Load a template in *.TPL
Theme: HemingwayEx »

Although I would not use this mouse effect javascript on any of my project or any of my websites, this is mainly for those out there who wants to make their website ‘pretty’. This cool javascript effect is originally by Kurt Grigg [ official website ].

Unfortunately, the link seem to end up in an error page.
But I’ve found a site which has the script in it [ demo ].

Tutorial Mode

  • Right click on the above image, choose “Save Target As…” and save into a folder called jbubble.
  • Upload the files to your web directory.
<script type="text/javascript">
// Under Water Mouse - Kurt Grigg -
// http://www.btinternet.com/~kurt.grigg/javascript

n4=(document.layers);
n6=(document.getElementById&&!document.all);
ie=(document.all);
o6=(navigator.appName.indexOf("Opera") != -1)?true:false;

img0=new Image();
img0.src="bluebub.gif";

num=(n6)?10:15;

buby=0;
bubx=0;
if (n4||n6){
window.captureEvents(Event.MOUSEMOVE);
function mouse1(e){
 buby = e.pageY-20-window.pageYOffset;
 bubx = e.pageX-4;
 }
if (n4) window.onMouseMove=mouse1;
else document.onmousemove=mouse1;
}
if (ie||o6){
 function mouse2(){
 buby = (ie)?event.clientY-20:event.clientY-20-window.pageYOffset;
 bubx = event.clientX-4;
 }
document.onmousemove=mouse2;
}
yp=new Array();
xp=new Array();
sp=new Array();
rt=new Array();
gr=new Array();
s1=new Array();
s2=new Array();
nz=new Array();
wh=(ie)?window.document.body.clientHeight:window.innerHeight;
for (i=0; i < num; i++){
 yp[i]=Math.random()*wh-buby;
 xp[i]=bubx;
 sp[i]= 6+Math.random()*3;
 s1[i]=0;
 s2[i]=Math.random()*0.1+0.05;
 gr[i]=4;
 nz[i]=Math.random()*15+5;
 rt[i]=Math.random()*0.5+0.1;
}
if (n4){
 for (i=0; i < num; i++){
 document.write(”<LAYER NAME=’bub”+i+”‘ LEFT=0 TOP=-50>”
+”<img src=’bluebub.gif’ width=”+nz[i]+” height=”+nz[i]+”></LAYER>”);
 }
}
if (ie){
document.write(’<div style=”position:absolute;top:0px;left:0px”><div style=”position:relative”>’);
 for (i=0; i < num; i++){
 document.write(’<img id=”bub’+i+’” src=”‘+img0.src+’” style=”position:absolute;top:-50px;left:0px”>’);
 }
 document.write(’</div></div>’);
}
if (n6||o6){
 for (i=0; i < num; i++){
 document.write(”<div id=’bub”+i+”‘ style=’position:absolute;top:-50px;left:0px’>”
+”<img src=”+img0.src+” width=”+nz[i]+” height=”+nz[i]+”></div>”);
 }
}
function MouseBubbles(){
scy=(document.all)?document.body.scrollTop:window.pageYOffset;
scx=(document.all)?document.body.scrollLeft:window.pageXOffset;
for (i=0; i < num; i++){
sy = sp[i]*Math.sin(270*Math.PI/180);
sx = sp[i]*Math.cos(s1[i]*5);
yp[i]+=sy;
xp[i]+=sx;
if (yp[i] < -40){
 yp[i]=buby;
 xp[i]=bubx;
 sp[i]= 6+Math.random()*3;
 gr[i]=4;
 nz[i]=Math.random()*15+5;
}
if (n4){
 document.layers["bub"+i].left=xp[i]+scx;
 document.layers["bub"+i].top=yp[i]+scy;
}
if (ie){
 document.getElementById(”bub”+i).style.left=xp[i]+scx;
 document.getElementById(”bub”+i).style.top=yp[i]+scy;
 document.getElementById(”bub”+i).style.width=gr[i];
 document.getElementById(”bub”+i).style.height=gr[i];
}
if (n6||o6){
 document.getElementById(”bub”+i).style.left=xp[i]+scx;
 document.getElementById(”bub”+i).style.top=yp[i]+scy;
}
gr[i]+=rt[i];
s1[i]+=s2[i];
if (gr[i] > 14) gr[i]=15;
}
setTimeout(’MouseBubbles()’,10);
}
MouseBubbles();
</script>
  • Open your HTML file and insert the above code before </head> tag.
  • Save the file and your done!
note: If any case that the demo is not working as well, just post your comment and I’ll be gladly to upload a demo page for this.






Leave a Reply