jQuery+css实现炫目的动态块漂移效果


Posted in Javascript onJanuary 28, 2016

本文实例讲述了jQuery+css实现的动态块漂移效果.分享给大家供大家参考,具体如下:

运行效果截图如下:

jQuery+css实现炫目的动态块漂移效果

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title></title>
  <script src="jquery-1.7.1.min.js" type="text/javascript"></script>
  <script type="text/javascript" >
    function createColor() {
      var color = [];
      for (var i = 0; i < 3; i++) {
        color.push(Math.round(Math.random() * 256));
      }
      return "rgb(" + color.join(",") + ")"
    }
    function createRect(left, top, index) {
      var width = Math.round(Math.random() * 150) + 10;
      var height = Math.round(Math.random() * 150) + 10;
      left = left > width ? left - width : left;
      top = top > height ? top - height : top;
      var html = [];
      html.push('<div id="rect_'+index+'" class="rect shadow radius" style="background:');
      html.push(createColor());
      html.push(';left:');
      html.push(left);
      html.push('px;top:');
      html.push(top);
      html.push('px;width:');
      html.push(width);
      html.push('px; height:');
      html.push(height);
      html.push('px;"></div>');
      return html.join("");
    }
    function initRect() {
      var body = $("#body");
      var width = body.width();
      var height = body.height();
      var index = new Date().getTime();
      body.append(createRect(Math.round(Math.random() * width), Math.round(Math.random() * height), index));
      setAnimate(index, height);
    }
    function setAnimate(index, height) {
      var rect = $("#rect_" + index);
      var top = parseInt(rect.position().top);
      var selfHeight = rect.height();
      if (top > height - selfHeight) {
        rect.remove();
        initRect();
      } else {
        var filter = top / height;
        rect.css({ "top": (top + 5) + "px", "opacity": filter });
        setTimeout(function () {
          setAnimate(index, height);
        }, 33);
      }
    }
    function initAllRect() {
      for (var i = 0; i < 20; i++) {
        initRect();
      }
    }
    $(document).ready(function () {
      initAllRect();
    });
  </script>
  <style type="text/css" >
  .rect {
        background:#DDDDDD;
        width:100px;
        height:100px;
        position:absolute;
  }
  .radius 
  {
    border-radius:8px;
      -moz-border-radius:8px;
      -webkit-border-radius:8px;
  }
  .shadow 
  {
    -moz-box-shadow:-5px -5px 5px #999 inset;
      -webkit-box-shadow:-5px -5px 5px #999 inset;
      box-shadow:-5px -5px 5px #999 inset; 
  }
  #body { height:700px; width:100%; background:black; margin:0; }
  </style>
</head>
<body>
<div id="body" class="shadow radius">
</div>
</body>
</html>

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js 事件处理函数间的Event物件是否全等
Apr 08 Javascript
辨析JavaScript中的Undefined类型与null类型
May 26 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
Vue.js常用指令之循环使用v-for指令教程
Jun 27 Javascript
浅谈react.js中实现tab吸顶效果的问题
Sep 06 Javascript
vue路由跳转时判断用户是否登录功能的实现
Oct 26 Javascript
bootstrap paginator分页插件的两种使用方式实例详解
Nov 14 Javascript
vue 使用eventBus实现同级组件的通讯
Mar 02 Javascript
vue数组对象排序的实现代码
Jun 20 Javascript
Vue 使用formData方式向后台发送数据的实现
Apr 14 Javascript
Layui动态生成select下拉选择框不显示的解决方法
Sep 24 Javascript
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
使用node+vue.js实现SPA应用
Jan 28 #Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
Jan 28 #Javascript
javascript实现随机显示星星特效
Jan 28 #Javascript
基于javascript实现全国省市二级联动下拉选择菜单
Jan 28 #Javascript
JS实现动态生成表格并提交表格数据向后端
Nov 25 #Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 #Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 #Javascript
You might like
FCKeditor添加自定义按钮
2008/03/27 PHP
php中json_encode中文编码问题分析
2011/09/13 PHP
详解php中 === 的使用
2016/10/24 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
PHPMailer ThinkPHP实现自动发送邮件功能
2018/06/10 PHP
php 与 nginx 的处理方式及nginx与php-fpm通信的两种方式
2018/09/28 PHP
详解关于php的xdebug配置(编辑器vscode)
2019/01/29 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
javascript 解决表单仍然提交即使监听处理函数返回false
2010/03/14 Javascript
JQuery中$之选择器用法介绍
2011/04/05 Javascript
jquery学习笔记 用jquery实现无刷新登录
2011/08/08 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
jQuery代码实现实时获取时间
2017/01/29 Javascript
jQuery源码分析之sizzle选择器详解
2017/02/13 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
2017/05/05 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
详解Vue取消eslint语法限制
2018/08/04 Javascript
layui的table中显示图片方法
2018/08/17 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
ES10的13个新特性示例(小结)
2019/09/23 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
使用python绘制二维图形示例
2019/11/22 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
10个python爬虫入门基础代码实例 + 1个简单的python爬虫完整实例
2020/12/16 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
联想智利官方网站:Lenovo Chile
2020/06/03 全球购物
日语专业求职信
2014/07/04 职场文书
转让协议书范本
2014/09/13 职场文书
2014年项目经理工作总结
2014/11/24 职场文书