javascript实现简单加载随机色方块


Posted in Javascript onDecember 25, 2015

用碎片加载小方块实现简单的随机色块,直接上代码:
效果图:

javascript实现简单加载随机色方块

具体代码:

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <meta charset="utf-8">
 <title>koringz</title>
 <link rel="stylesheet" href="css/demo.css">
</head>
<body>
 <div class="container">
  <div class="main">
   <div class="colorful"></div>
  </div>
 </div>
</body>
</html>

css代码:

* {
 -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
   box-sizing: border-box;
}
html {
 font-size: 10px;
 -webkit-tap-highlight-color: transparent;
}
body {
 margin: 0;
 padding: 0;
 font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
 font-size: 14px;
 line-height: 1.42857143;
 color: #333;
 background-color: rgba(211,232,132,0.8);
}
.container {
 overflow: visible;
}
.main {
 position: relative;
 width: 90%;
 height:200px;
 margin:auto;
}
.colorful {
 overflow: visible;
 width: 100%;
 height: 100%;
}

.colorful > a {
 float: left;
 display: block;
 width: 50px;
 height: 50px;
 zoom:2;
}

.colorful > a:hover {
 -webkit-animation:infinite 2s ease-in-out start-roll;
 -moz-animation:infinite 2s ease-in-out start-roll;
   animation:infinite 2s ease-in-out start-roll;
}
@-webkit-keyframes start-roll{
 0% {
  -webkit-transform: rotate(0deg); /*chrome*/
  -moz-transform: rotate(0deg); /*火狐*/
  -ms-transform: rotate(0deg); /*IE*/
  transform: rotate(0deg);
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: .5;
  filter: alpha(opacity=50);
  zoom:1;
 }
 50% {
  -webkit-transform: rotate(180deg); /*chrome*/
  -moz-transform: rotate(180deg); /*火狐*/
  -ms-transform: rotate(180deg); /*IE*/
  transform: rotate(180deg);
  -webkit-transition: opacity 1s linear;
  transition: opacity 1s linear;
  opacity: 1;
  filter: alpha(opacity=100);
   zoom:2;
 }
 100% {
  -webkit-transform: rotate(360deg); /*chrome*/
  -moz-transform: rotate(360deg); /*火狐*/
  -ms-transform: rotate(360deg); /*IE*/
  transform: rotate(360deg);
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: .5;
  filter: alpha(opacity=50);
  zoom:1;
 }
}
@-moz-keyframes start-roll{
 0% {
  -webkit-transform: rotate(0deg); /*chrome*/
  -moz-transform: rotate(0deg); /*火狐*/
  -ms-transform: rotate(0deg); /*IE*/
  transform: rotate(0deg);
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: .5;
  filter: alpha(opacity=50);
 }
 50% {
  -webkit-transform: rotate(180deg); /*chrome*/
  -moz-transform: rotate(180deg); /*火狐*/
  -ms-transform: rotate(180deg); /*IE*/
  transform: rotate(180deg);
  -webkit-transition: opacity 1s linear;
  transition: opacity 1s linear;
  opacity: .5;
  filter: alpha(opacity=50);
 }
 100% {
  -webkit-transform: rotate(360deg); /*chrome*/
  -moz-transform: rotate(360deg); /*火狐*/
  -ms-transform: rotate(360deg); /*IE*/
  transform: rotate(360deg);
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: .5;
  filter: alpha(opacity=50);
 }
}
@keyframes start-roll{
 0% {
  -webkit-transform: rotate(0deg); /*chrome*/
  -moz-transform: rotate(0deg); /*火狐*/
  -ms-transform: rotate(0deg); /*IE*/
  transform: rotate(0deg);
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: .5;
  filter: alpha(opacity=50);
 }
 50% {
  -webkit-transform: rotate(180deg); /*chrome*/
  -moz-transform: rotate(180deg); /*火狐*/
  -ms-transform: rotate(180deg); /*IE*/
  transform: rotate(180deg);
  -webkit-transition: opacity 1s linear;
  transition: opacity 1s linear;
  opacity: .5;
  filter: alpha(opacity=50);
 }
 100% {
  -webkit-transform: rotate(360deg); /*chrome*/
  -moz-transform: rotate(360deg); /*火狐*/
  -ms-transform: rotate(360deg); /*IE*/
  transform: rotate(360deg);
  -webkit-transition: opacity .3s linear;
  transition: opacity .3s linear;
  opacity: .5;
  filter: alpha(opacity=50);
 }
}

js代码:

(function (window) {
 var document = window.document;
 function on(elem, evtnm, eventhd) {
  var onevtnm = 'on' + evtnm;
  elem[onevtnm] = eventhd;
 }
 function grc() {
  var val = [], i = 0;
  while (++i <= 3) {
   val.push(Math.floor(Math.random() * 255));
  }
  return 'rgb(' + val.join() + ')';
 }
 function fbc() {
  var el = document.querySelectorAll('.colorful')[0],
   total = Math.floor(el.offsetWidth / 50) * Math.floor(el.offsetHeight / 50),
   df = document.createDocumentFragment(),
   a;
  while (total-- > 0) {
   a = document.createElement('a');
   a.style.backgroundColor = grc();
   df.appendChild(a);
  }
  el.appendChild(df);
 }
 on(window, 'load', function () {
  fbc();
 });
})(window)

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

Javascript 相关文章推荐
FireFox与IE 下js兼容触发click事件的代码
Nov 20 Javascript
JavaScript 数组循环引起的思考
Jan 01 Javascript
在JavaScript并非所有的一切都是对象
Apr 11 Javascript
javascript获取元素CSS样式代码示例
Nov 28 Javascript
浅析JavaScript中的隐式类型转换
Dec 05 Javascript
JS动态添加iframe的代码
Sep 14 Javascript
EasyUI修改DateBox和DateTimeBox的默认日期格式示例
Jan 18 Javascript
canvas绘图不清晰的解决方案
Feb 28 Javascript
jQuery使用正则验证15/18身份证的方法示例
Apr 27 jQuery
EasyUI中的dataGrid的行内编辑
Jun 22 Javascript
vue+socket.io+express+mongodb 实现简易多房间在线群聊示例
Oct 21 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
学习JavaScript鼠标响应事件
Dec 25 #Javascript
理解javascript中DOM事件
Dec 25 #Javascript
理解JavaScript中worker事件api
Dec 25 #Javascript
基于jquery实现省市区三级联动效果
Dec 25 #Javascript
js实现文本框输入文字个数限制代码
Dec 25 #Javascript
js实现简单的验证码
Dec 25 #Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 #Javascript
You might like
探讨PHP JSON中文乱码的解决方法详解
2013/06/06 PHP
深入解析fsockopen与pfsockopen的区别
2013/07/05 PHP
php在数据库抽象层简单使用PDO的方法
2015/11/03 PHP
简单谈谈php延迟静态绑定
2016/01/26 PHP
php格式化json函数示例代码
2016/05/12 PHP
jquery动画3.创建一个带遮罩效果的图片走廊
2012/08/24 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
jquery实现动静态条形统计图
2015/08/17 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
js清除浏览器缓存的几种方法
2017/03/15 Javascript
JavaScript实现瀑布流图片效果
2017/06/30 Javascript
jquery+css3实现熊猫tv导航代码分享
2018/02/12 jQuery
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
JavaScript常见事件处理程序实例总结
2019/01/05 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
原生JS实现多条件筛选
2020/08/19 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
微信小程序tab左右滑动切换功能的实现代码
2021/02/08 Javascript
[46:03]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
Django中多种重定向方法使用详解
2019/07/17 Python
python实现京东订单推送到测试环境,提供便利操作示例
2019/08/09 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
德国体育用品网上商店:SC24.com
2016/08/01 全球购物
Java里面StringBuilder和StringBuffer有什么区别
2016/06/06 面试题
一套带答案的C++笔试题
2014/01/10 面试题
校外活动方案
2014/08/28 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
六查六看自查报告
2014/10/14 职场文书
2014工程部年度工作总结
2014/12/17 职场文书
小马王观后感
2015/06/11 职场文书
初级职称评定工作总结
2015/08/13 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL