ホームページ >ウェブフロントエンド >jsチュートリアル >下から上へ上昇する JS バブル効果の例_JavaScript スキル
この記事の例では、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="http://bbs.blueidea.com/static/image/smiley/blueidea/smile.gif"> <img src="http://bbs.blueidea.com/static/image/smiley/blueidea/biggrin.gif"> <img src="http://bbs.blueidea.com/static/image/smiley/blueidea/eek.gif"> <img src="http://bbs.blueidea.com/static/image/smiley/blueidea/rolleyes.gif"> </div> </body> </html>
この記事が皆様の JavaScript プログラミング設計に役立つことを願っています。