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的星级评分插件
Aug 12 Javascript
js随机颜色代码的多种实现方式
Apr 23 Javascript
jquery获取img的src值的简单实例
May 17 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
Dec 02 Javascript
微信小程序中顶部导航栏的实现代码
Mar 30 Javascript
基于对象合并功能的实现示例
Oct 10 Javascript
JS实现为动态添加的元素增加事件功能示例【基于事件委托】
Mar 21 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
vue实现Excel文件的上传与下载功能的两种方式
Jun 28 Javascript
Vue实现购物车详情页面的方法
Aug 20 Javascript
详解从vue-loader源码分析CSS Scoped的实现
Sep 23 Javascript
JS通过识别id、value值对checkbox设置选中状态
Feb 19 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
让你的网站首页自动选择语言转跳
2006/12/06 PHP
php flv视频时间获取函数
2010/06/29 PHP
php array_udiff_assoc 计算两个数组的差集实例
2016/11/12 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
Thinkphp 框架配置操作之配置加载与读取配置实例分析
2020/05/15 PHP
图片按比例缩放函数
2006/06/26 Javascript
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
Visual Studio中的jQuery智能提示设置方法
2010/03/27 Javascript
JavaScript模块随意拖动示例代码
2014/05/27 Javascript
js实现特定位取反原理及示例
2014/06/30 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
javascript运动详解
2015/07/06 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
详解Webpack DLL用法以及功能
2017/07/11 Javascript
Angular实现的table表格排序功能完整示例
2017/12/22 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
详解vue2.0+axios+mock+axios-mock+adapter实现登陆
2018/07/19 Javascript
浅谈vue方法内的方法使用this的问题
2018/09/15 Javascript
vue发送ajax请求详解
2018/10/09 Javascript
vue中v-for循环给标签属性赋值的方法
2018/10/18 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
Python装饰器原理与简单用法实例分析
2018/04/29 Python
win10系统下Anaconda3安装配置方法图文教程
2018/09/19 Python
在Pandas中给多层索引降级的方法
2018/11/16 Python
python http基本验证方法
2018/12/26 Python
Python实现DDos攻击实例详解
2019/02/02 Python
Elizabeth Gage官网:英国最好的珠宝设计之一
2020/09/26 全球购物
电大学习个人自我评价范文
2013/10/04 职场文书
房产继承公证书
2014/04/09 职场文书
教师节主题班会教案
2015/08/17 职场文书
话题作文之生命的旋律
2019/12/17 职场文书
JavaScript模拟实现网易云轮播效果
2022/04/04 Javascript
Django框架中模型的用法
2022/06/10 Python