javascript實現(xiàn)簡單加載隨機色方塊
用碎片加載小方塊實現(xiàn)簡單的隨機色塊,直接上代碼:
效果圖:

具體代碼:
<!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)
希望本文所述對大家學(xué)習(xí)javascript程序設(shè)計有所幫助。
相關(guān)文章
Bootstrap 表單驗證formValidation 實現(xiàn)表單動態(tài)驗證功能
這篇文章主要介紹了Bootstrap 表單驗證formValidation 實現(xiàn)表單動態(tài)驗證功能,需要的朋友可以參考下2017-05-05
Microsfot .NET Framework4.0框架 安裝失敗的解決方法
今天在安裝.NET Framework 4.0,安裝了半天結(jié)果提示未安裝成功,提示原因是服務(wù)未啟動了,error code: (0x80070643), "安裝時發(fā)生嚴(yán)重錯誤 "2013-08-08
解決layui數(shù)據(jù)表格Date日期格式的回顯Object的問題
今天小編就為大家分享一篇解決layui數(shù)據(jù)表格Date日期格式的回顯Object的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JavaScript指定字段排序方法sortFun函數(shù)
這篇文章主要介紹了JavaScript指定字段排序方法sortFun函數(shù),數(shù)組的排序方法是sort,但是它并不支持根據(jù)指定的字段進行排序,而sortFun可以根據(jù)指定的字段進行排序,需要的朋友可以參考下2023-05-05
bootstrap daterangepicker漢化以及擴展功能
這篇文章主要為大家詳細(xì) 介紹了bootstrap daterangepicker漢化以及擴展功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
javascript生成/解析dom的CDATA類型的字段的代碼
javascript生成/解析dom的CDATA類型的字段的代碼...2007-04-04
微信小程序云開發(fā)修改云數(shù)據(jù)庫中的數(shù)據(jù)方法
這篇文章主要介紹了微信小程序云開發(fā)修改云數(shù)據(jù)庫中的數(shù)據(jù)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

