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 相关文章推荐
js里的prototype使用示例
Nov 19 Javascript
javascript算法学习(直接插入排序)
Apr 12 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 Javascript
JavaScript字符串对象substring方法入门实例(用于截取字符串)
Oct 17 Javascript
JS的数组迭代方法
Feb 05 Javascript
Javascript实现获取及设置光标位置的方法
Jul 21 Javascript
jQuery超酷平面式时钟效果代码分享
Mar 30 Javascript
详解VueRouter进阶之导航钩子和路由元信息
Sep 13 Javascript
Three.js利用性能插件stats实现性能监听的方法
Sep 25 Javascript
js原生方法被覆盖,从新赋值原生的方法
Jan 02 Javascript
Vue实现点击显示不同图片的效果
Aug 10 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 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
德生H-501的评价与改造
2021/03/02 无线电
PHP strtr() 函数使用说明
2008/11/21 PHP
PHP实现根据浏览器跳转不同语言页面代码
2013/08/02 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
PHP生成静态HTML页面最简单方法示例
2015/04/09 PHP
php筛选不存在的图片资源
2015/04/28 PHP
Thinkphp 5.0实现微信企业付款到零钱
2018/09/30 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
基于jQuery实现页面搜索功能
2020/03/26 Javascript
js 模仿锚点定位的实现方法
2016/11/19 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
AngularJS监听ng-repeat渲染完成的方法
2018/03/20 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
javascript(基于jQuery)实现鼠标获取选中的文字示例【测试可用】
2019/10/26 jQuery
js实现多图和单图上传显示
2019/12/18 Javascript
JavaScript 类的封装操作示例详解
2020/05/16 Javascript
JavaScript实现移动端拖动元素
2020/11/24 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python随机生成一个6位的验证码代码分享
2015/03/24 Python
Collatz 序列、逗号代码、字符图网格实例
2017/06/22 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
解决Tensorflow使用pip安装后没有model目录的问题
2018/06/13 Python
Python全局变量与局部变量区别及用法分析
2018/09/03 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
美国高端婴童品牌:Hanna Andersson
2016/10/30 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
张丽莉观后感
2015/06/16 职场文书
历史名人教你十五个读书方法,赶快Get起来!
2019/07/18 职场文书
MySQL之DML语言
2021/04/05 MySQL
Django+Nginx+uWSGI 定时任务的实现方法
2022/01/22 Python