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 相关文章推荐
基于jquery的网页SELECT下拉框美化代码
Oct 28 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
Jan 26 Javascript
jQuery 如何先创建、再修改、后添加DOM元素
May 20 Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
JavaScript版经典游戏之扫雷游戏完整示例【附demo源码下载】
Dec 12 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
Jun 26 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
Dec 09 Javascript
微信小程序左滑动显示菜单功能的实现
Jun 14 Javascript
通过npm或yarn自动生成vue组件的方法示例
Feb 12 Javascript
微信小程序如何使用云开发
May 17 Javascript
vue等两个接口都返回结果再执行下一步的实例
Sep 08 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 变量定义和变量替换的方法
2009/07/30 PHP
PHP系列学习之日期函数使用介绍
2012/08/18 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
php版微信返回用户text输入的方法
2016/11/14 PHP
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
javascript 闭包详解
2015/02/15 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
js微信支付实现代码
2016/12/22 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
vuejs如何配置less
2017/04/25 Javascript
基于Vuejs的搜索匹配功能实现方法
2018/03/03 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
webpack实现一个行内样式px转vw的loader示例
2018/09/13 Javascript
eslint 的三大通用规则详解
2019/05/16 Javascript
Vue中通过属性绑定为元素绑定style行内样式的实例代码
2020/04/30 Javascript
详解 Python 与文件对象共事的实例
2017/09/11 Python
python使用mysql的两种使用方式
2018/03/07 Python
python实现键盘控制鼠标移动
2020/11/27 Python
解决python字典对值(值为列表)赋值出现重复的问题
2019/01/20 Python
Python PyInstaller安装和使用教程详解
2020/01/08 Python
Nike墨西哥官网:Nike MX
2020/08/30 全球购物
请用Java实现列出某个目录下的所有文件
2013/09/23 面试题
报关简历自我评价怎么写
2013/09/19 职场文书
环境工程大学生个人的自我评价
2013/10/08 职场文书
毕业生求职找工作的自我评价范文
2013/11/27 职场文书
大学毕业感言100字
2014/02/03 职场文书
中西医专业毕业生职业规划书
2014/02/24 职场文书
保护野生动物倡议书
2014/05/16 职场文书
党在我心中演讲稿
2014/09/02 职场文书
小学老师对学生的评语
2014/12/29 职场文书
教师调动申请报告
2015/05/18 职场文书
交通事故起诉书
2015/05/19 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript
python周期任务调度工具Schedule使用详解
2021/11/23 Python