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的deferred对象使用详解
Aug 20 Javascript
基于Node.js的JavaScript项目构建工具gulp的使用教程
May 20 Javascript
修改ligerui 默认确认按钮的方法
Dec 27 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
总结JavaScript在IE9之前版本中内存泄露问题
Apr 28 Javascript
Bootstrap导航菜单点击后无法自动添加active的处理方法
Aug 10 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
Sep 05 Javascript
利用jqgrid实现上移下移单元格功能
Nov 07 Javascript
使用vue开发移动端管理后台的注意事项
Mar 07 Javascript
Vue使用localStorage存储数据的方法
May 27 Javascript
压缩Vue.js打包后的体积方法总结(Vue.js打包后体积过大问题)
Feb 03 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获取当前url路径的函数以及服务器变量
2013/06/29 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
js版本A*寻路算法
2006/12/22 Javascript
JS延迟加载(setTimeout) JS最后加载
2010/07/15 Javascript
JavaScript 类型的包装对象(Typed Wrappers)
2011/10/27 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
JQuery的Ajax请求实现局部刷新的简单实例
2014/02/11 Javascript
extjs每个组件要设置唯一的ID否则会出错
2014/06/15 Javascript
javascript中实现兼容JAVA的hashCode算法代码分享
2020/08/11 Javascript
jQuery中:reset选择器用法实例
2015/01/04 Javascript
深入理解MVC中的时间js格式化
2016/05/19 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
基于Vue2.X的路由和钩子函数详解
2018/02/09 Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
2018/04/01 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
微信小程序实现张图片合成为一张并下载
2019/07/16 Javascript
[44:40]KG vs LGD 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
python实现flappy bird游戏
2018/12/24 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
Python Selenium自动化获取页面信息的方法
2020/08/31 Python
美国派对用品及装饰品网上商店:Shindigz
2016/07/30 全球购物
初中三年学生的学习自我评价
2013/11/13 职场文书
大学生学业生涯规划
2014/01/05 职场文书
应聘教师自荐书
2014/06/16 职场文书
七一建党节演讲稿
2014/09/11 职场文书
2014小学教师年度考核工作总结
2014/12/03 职场文书
领导干部学习三严三实心得体会
2016/01/05 职场文书
导游词之临安白水涧
2019/11/05 职场文书
何时使用Map来代替普通的JS对象
2021/04/29 Javascript
Python字符串常规操作小结
2022/04/03 Python