JS实现气泡从水中急速上升效果

2013-06-21 05:27:28 -0400
JS实现气泡从水中急速上升效果,用做背景感觉可以,你可以把气泡重新美化一下,换换颜色,这样更逼真一些。
JS实现气泡从水中急速上升效果
<html>
<head>
<title>JS实现气泡从水中急速上升效果</title>
<style type="text/css">
body {cursor:crosshair;margin:0; padding:0; position:absolute; overflow:hidden; background:#FFF; left:0; top:0; width:100%; height:100%;}
</style>
<script type="text/javascript"><!--
var object = new Array();
nbfm = 60;
var xm = 0;
var ym = 9999;
var nx = 0;
var ny = 0;

function movbulb(){
with (this) {
if(ec < 20){
if(Math.abs(x0 - xm) < 100 && Math.abs(y0 - ym) < 100){
xx = (xm - x0) / 8;
yy = (ym - y0) / 8;
ec++;
}
}

xx *= 0.99;
yy *= 0.99;

x0 = Math.round(x0 + Math.cos(y0 / 15) * p) + xx;
y0+= yy - v;

if(y0 < -h * 2 || x0 < -w * 2 || x0 > nx + w * 2){
y0 = ny + N + h * 2;
x0 = nx/2-100 + Math.random() * 100;
ec = 0;
}

obj.style.top = y0 - h;
obj.style.left = x0 - w;
}
}

function CObj(N,img,w,h){
this.obj = document.createElement("img");
this.obj.src = img.src;
this.obj.style.position = "absolute";
this.obj.style.left = -1000;
document.body.appendChild(this.obj);
this.N = N;
this.x0 = 0;
this.y0 = -1000;
this.v = 1 + Math.round((80 / h) * Math.random());
this.p = 1 + Math.round((w / 8) * Math.random());
this.xx = 0;
this.yy = 0;
this.ec = 0;
this.w = w;
this.h = h;
this.movbulb = movbulb;
}
function resize(){
nx = document.body.offsetWidth;
ny = document.body.offsetHeight;
}
onresize = resize;
document.onmousemove = function(e){
if (window.event) e = window.event;
xm = document.body.scrollLeft+(e.x || e.clientX);
ym = document.body.scrollTop+(e.y || e.clientY);
}

function run(){
for(i in object)object[i].movbulb();
setTimeout(run, 16);
}

onload = function() {
PIC = document.getElementById("bubbles").getElementsByTagName("img");
resize();
for(nbf=0;nbf<nbfm;nbf++){
sf = PIC[nbf%PIC.length];
object[nbf] = new CObj(nbf,sf,sf.width/2,sf.height/2);
}
run();
}

//-->
</script>
</head>
<body>
<div id="bubbles" style="visibility:hidden">
<img src="/jscss/demoimg/200908/b3.gif">
<img src="/jscss/demoimg/200908/b4.gif">
<img src="/jscss/demoimg/200908/b5.gif">
<img src="http://holy.wodemo.com/down/20130621/161987/22.jpg">
</div>
</body>
</html>
«Newer      Older»
Comment:
Name:

Back to home

Subscribe | Register | Login | N