js和css3實現的載入等待特效
下面的程式碼實現了載入等待效果,程式碼是js結合css3實現的。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style> body { display: flex; min-height: 100vh; margin: 0; } .box { width: 8em; height: 8em; margin: auto; background: rgba(0,0,0,.3); border-radius: 1em; display: flex; } .box ul { width: 6em; height: 6em; list-style: none; margin: auto; padding: 0; position: relative; } .box li { width: .5em; height: 2em; background: rgba(255,255,255,.3); border-radius: .4em; position: absolute; top: 50%; margin-top: -1em; left: 50%; margin-left: -.25em; transition: background .1s; } .box li.back { background: #fff; } .box li:nth-child(1) { transform: translate(0,-2em) rotate(0deg); } .box li:nth-child(2) { transform: translate(1.42em,-1.42em) rotate(45deg); } .box li:nth-child(3) { transform: translate(2em,0) rotate(90deg); } .box li:nth-child(4) { transform: translate(1.42em,1.42em) rotate(135deg); } .box li:nth-child(5) { transform: translate(0,2em) rotate(180deg); } .box li:nth-child(6) { transform: translate(-1.42em,1.42em) rotate(225deg); } .box li:nth-child(7) { transform: translate(-2em,0) rotate(270deg); } .box li:nth-child(8) { transform: translate(-1.42em,-1.42em) rotate(315deg); } </style> <script> window.onload = function () { var box_li = Array.prototype.slice.apply(document.querySelectorAll('.box li')); var index = 0; requestAnimationFrame(function () { var a = arguments.callee; if (index >= box_li.length) { index = 0; box_li.forEach(function (value, index) { value.classList.remove('back'); }); return setTimeout(function () { a(); }, 500) } box_li[index].classList.add('back'); index++; setTimeout(function () { a(); }, 200) }) } </script> </head> <body> <div class="box"> <ul> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> </body> </html>
上面的程式碼相對比較簡單,更多內容可以參閱相關閱讀。
相關閱讀:
(1).rgba可以參閱CSS3 RGBA一章節。
(2).border-radius可以參閱CSS3 border-radius一章節。
(3).display: flex可以參閱css3 Flex彈性佈局一章節。
(4).:nth-child可以參閱nth-child()一章節。
(5).document.querySelectorAll()可以參閱document.querySelectorAll()一章節。
(6).apply()可以參閱js apply()一章節。
(7).requestAnimationFrame()可以參閱requestAnimationFrame()一章節。
(8).classList可以參閱HTML5 classList一章節。
(9).setTimeout()可以參閱setTimeout()一章節。
相關文章
- js和CSS3自定義滑鼠特效JSCSSS3特效
- CSS3旋轉載入等待效果CSSS3
- CSS3載入等待動畫效果CSSS3動畫
- CSS3五連珠載入等待效果CSSS3
- 超酷的 CSS3 loading 預載入動畫特效CSSS3動畫特效
- JS實現載入層JS
- 基於Js和Java實現xlsxxls文件的匯入和下載JSJava
- vue實現首屏載入等待動畫 避免首次載入白屏尷尬Vue動畫
- 圖片懶載入js實現JS
- 優雅的實現動態載入 css、jsCSSJS
- 112.使用 sketch.js 實現彗星特效JS特效
- CSS3實現王者榮耀匹配人員載入頁面CSSS3
- 用最簡單的方法實現原生 JS 放大鏡特效JS特效
- Python頁面載入的等待方式Python
- 一種實現 MediaWiki 分頁面載入 JS 的思路JS
- 小說APP原始碼的圖片載入方式,懶載入和預載入的實現APP原始碼
- 幾十行js實現很炫的canvas互動特效JSCanvas特效
- 如何實現圖片預載入和載入進度條
- Js使用水桶簡單方便實現同步載入JS
- 如何實現JS中的過載JS
- 實現移動端上拉載入和下拉重新整理的vue外掛(mescroll.js)VueJS
- 我用 CSS3 實現了一個超炫的 3D 載入動畫CSSS33D動畫
- CSS3 loadding載入效果CSSS3
- 移動端無限滾動載入 js實現原理JS
- 載入更多 功能的實現
- 好程式設計師web前端培訓分享CSS3實現全景圖特效程式設計師Web前端CSSS3特效
- js下載檔案的實現方式JS
- CSS3漂亮的loadding載入動畫CSSS3動畫
- js實現函式過載JS函式
- js實現 web頁面的滾動條下拉時載入更多JSWeb
- datatable.js實現非同步載入與增刪改查JS非同步
- JS載入JS
- CSS3 loadding載入程式碼CSSS3
- app直播原始碼,等待時的載入動畫(交錯載入動畫)APP原始碼動畫
- Tomcat 類載入器的實現Tomcat
- js動態載入 js檔案和 css檔案JSCSS
- 用canvas實現流星特效Canvas特效
- CSS實現開關特效CSS特效
- [譯] 使用 Angular 和 RxJS 實現的無限滾動載入AngularJS