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 相关文章推荐
Dojo 学习要点
Sep 03 Javascript
jQuery之折叠面板的深入解析
Jun 19 Javascript
zTree插件之多选下拉菜单实例代码
Nov 06 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
javascript批量修改文件编码格式的方法
Jan 27 Javascript
浅谈JavaScript 标准对象
Jun 02 Javascript
AngularJS 基础ng-class-even指令用法
Aug 01 Javascript
jQuery插入节点和移动节点用法示例(insertAfter、insertBefore方法)
Sep 08 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
Aug 03 Javascript
JavaScript基于数组实现的栈与队列操作示例
Dec 22 Javascript
JS常见面试试题总结【去重、遍历、闭包、继承等】
Aug 27 Javascript
layer 关闭指定弹出层的例子
Sep 25 Javascript
学习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
使用新浪微博API的OAuth认证发布微博实例
2015/03/27 PHP
给WordPress中的留言加上楼层号的PHP代码实例
2015/12/14 PHP
php从数据库读取数据,并以json格式返回数据的方法
2018/08/21 PHP
PHP中echo与print区别点整理
2021/03/09 PHP
深入认识JavaScript中的函数
2007/01/22 Javascript
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
点击页面其它地方隐藏该div的两种思路
2013/11/18 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
js enter键激发事件实例代码
2016/08/17 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
2016/09/05 Javascript
微信小程序  modal详解及实例代码
2016/11/09 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
js实现多图和单图上传显示
2019/12/18 Javascript
Element-UI 使用el-row 分栏布局的教程
2020/10/26 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
Python Socket编程入门教程
2014/07/11 Python
Python操作MongoDB详解及实例
2017/05/18 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
Python网页解析器使用实例详解
2020/05/30 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
基于Python的一个自动录入表格的小程序
2020/08/05 Python
python3从网络摄像机解析mjpeg http流的示例
2020/11/13 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
英国计算机商店:Technextday
2019/12/28 全球购物
护理专业自荐信范文
2014/02/26 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
银行党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
党员个人党性分析材料
2014/12/18 职场文书
护理专业自我评价
2015/03/11 职场文书
英文自荐信范文
2015/03/25 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
高考1977观后感
2015/06/04 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript
win10系统计算机图标怎么调出来?win10调出计算机图标的方法
2022/08/14 数码科技