js由下向上不断上升冒气泡效果实例


Posted in Javascript onMay 07, 2015

本文实例讲述了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程序设计有所帮助。

Javascript 相关文章推荐
Javascript 验证上传图片大小[客户端]
Aug 01 Javascript
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
Jun 25 Javascript
js判断FCKeditor内容是否为空的两种形式
May 14 Javascript
JavaScript中实现Map的示例代码
Sep 09 Javascript
Vue官方文档梳理之全局配置
Nov 22 Javascript
深入理解 webpack 文件打包机制(小结)
Jan 08 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
js中DOM事件绑定分析
Mar 18 Javascript
vue组件挂载到全局方法的示例代码
Aug 02 Javascript
如何给element添加一个抽屉组件的方法步骤
Jul 14 Javascript
使用JavaScript计算前一天和后一天的思路详解
Dec 20 Javascript
详解ES6 中的Object.assign()的用法实例代码
Jan 11 Javascript
jQuery动态效果显示人物结构关系图的方法
May 07 #Javascript
js显示文本框提示文字的方法
May 07 #Javascript
js实现模拟计算器退格键删除文字效果的方法
May 07 #Javascript
浅谈document.write()输出样式
May 07 #Javascript
js库Modernizr的介绍和使用
May 07 #Javascript
详谈LABJS按需动态加载js文件
May 07 #Javascript
JavaScript改变CSS样式的方法汇总
May 07 #Javascript
You might like
php的curl实现get和post的代码
2008/08/23 PHP
php变量作用域的深入解析
2013/06/03 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
PHP调用Mailgun发送邮件的方法
2017/05/04 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
JQuery实现动态适时改变字体颜色的方法
2015/03/10 Javascript
jquery任意位置浮动固定层插件用法实例
2015/05/29 Javascript
深入分析JSON编码格式提交表单数据
2015/06/25 Javascript
node.js中格式化数字增加千位符的几种方法
2015/07/03 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
Angularjs通过指令监听ng-repeat渲染完成后执行脚本的方法
2016/12/31 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
基于 Vue.js 之 iView UI 框架非工程化实践记录(推荐)
2017/11/21 Javascript
如何使用CSS3+JQuery实现悬浮墙式菜单
2019/06/18 jQuery
python实现八大排序算法(1)
2017/09/14 Python
Python中的并发处理之asyncio包使用的详解
2018/04/03 Python
PyQt5实现拖放功能
2018/04/25 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
2019/07/08 Python
react+django清除浏览器缓存的几种方法小结
2019/07/17 Python
如何在Django项目中引入静态文件
2019/07/26 Python
Python中qutip用法示例详解
2020/10/02 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
简单介绍CSS3中Media Query的使用
2015/07/07 HTML / CSS
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
美国宠物商店:Wag.com
2016/10/25 全球购物
Giglio美国站:意大利奢侈品购物网
2018/02/10 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
重阳节登山活动方案
2014/02/03 职场文书
减负增效提质方案
2014/05/23 职场文书
办护照工作证明
2014/10/01 职场文书
部门主管竞聘书
2015/09/15 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL