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中的this绑定介绍
Sep 22 Javascript
文本框根据输入内容自适应高度的代码
Oct 24 Javascript
滚动条响应鼠标滑轮事件实现上下滚动的js代码
Jun 30 Javascript
AngularJS入门教程(零):引导程序
Dec 06 Javascript
整理Javascript数组学习笔记
Nov 29 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
ES6使用let命令更简单的实现块级作用域实例分析
Mar 31 Javascript
不到200行 JavaScript 代码实现富文本编辑器的方法
Jan 03 Javascript
Angular中sweetalert弹框的基本使用教程
Jul 22 Javascript
JavaScript寄生组合式继承原理与用法分析
Jan 11 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
Apr 23 Javascript
带你使用webpack快速构建web项目的方法
Nov 12 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设计模式 Chain Of Responsibility (职责链模式)
2011/06/26 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php自定义session示例分享
2014/04/22 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
php使用变量动态创建类的对象用法示例
2017/02/06 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
js判断一个元素是否为另一个元素的子元素的代码
2012/03/21 Javascript
JavaScript中json对象和string对象之间相互转化
2012/12/26 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
js图片滚动效果时间可随意设定当鼠标移上去时停止
2014/06/26 Javascript
js获取滚动距离的方法
2015/05/30 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
2016/12/08 Javascript
Bootstrap下拉菜单Dropdowns的实现代码
2017/03/17 Javascript
webpack2.0搭建前端项目的教程详解
2017/04/05 Javascript
原生JS实现隐藏显示图片 JS实现点击切换图片效果
2021/01/27 Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
2017/07/12 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
vue 中 elment-ui table合并上下两行相同数据单元格
2019/12/26 Javascript
python 实现二维字典的键值合并等函数
2019/12/06 Python
基于Pytorch SSD模型分析
2020/02/18 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
Python自动化测试基础必备知识点总结
2021/02/07 Python
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
美国隐形眼镜网:Major Lens
2018/02/09 全球购物
英国乐购杂货:Tesco Groceries
2018/11/29 全球购物
怎样从/向数据文件读/写结构
2014/11/23 面试题
《月光启蒙》教学反思
2014/03/01 职场文书
《苏珊的帽子》教学反思
2014/04/07 职场文书
2014年五四青年节活动策划书
2014/04/22 职场文书
学校宣传标语
2014/06/18 职场文书
公证处委托书
2015/01/28 职场文书
新兵入伍决心书
2015/09/22 职场文书
oracle索引总结
2021/09/25 Oracle
SQL SERVER中的流程控制语句
2022/05/25 SQL Server