利用canvas實現(xiàn)的加載動畫效果實例代碼
前言
以前在瀏覽文章時,看到過一個Android的加載效果,覺得挺好看的,于是自己就模仿了一個。下面話不多說,我們直接來看看詳細(xì)的介紹吧。
運行效果圖
分析下這個效果:
1.可以把這四個方塊標(biāo)號
2.這個運動效果其實只用分解為兩段動畫,一段是上下移動,一段是左右移動。
示例代碼:
/*核心代碼*/ /*分析動畫,其實動畫只有兩次的執(zhí)行*/ var for_index = 1;//記錄當(dāng)前執(zhí)行動畫的序列 var interval = setInterval(function(){ if(for_index == 1){ if(squre4.x == origin_squre.x - step * 2){ for_index = 2; }else{ squre2.x -= 2; squre2.y += 1; squre4.x += 2; squre4.y -= 1; } }else if(for_index == 2){ if(squre4.x == origin_squre.x){ for_index = 1; /*重置方塊位置信息到初始值*/ init_squre(origin_squre.x,origin_squre.y); }else{ squre3.x -= 2; squre3.y -= 1; squre2.x -= 2; squre2.y -= 1; squre4.x += 2; squre4.y += 1; squre1.x += 2; squre1.y += 1; } } ctx.clearRect(0,0,canvas.width,canvas.height); /*重繪方塊*/ if(for_index == 1 || for_index == 2){ draw_squre(squre4); draw_squre(squre1); draw_squre(squre3); draw_squre(squre2); } /*重繪陰影*/ get_shaow_pos(); for(var i in shaow_begin){ draw_shaow(shaow_begin[i]); } },1000 / 24);
由于在高分屏下繪制有點模糊,于是引入了hidpi-canvas.js
github地址:https://github.com/lzuntalented/lzLoading
本地下載:http://xiazai.jb51.net/201707/yuanma/lzLoading(jb51.net).rar
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
layui使用數(shù)據(jù)表格實現(xiàn)購物車功能
這篇文章主要為大家詳細(xì)介紹了layui使用數(shù)據(jù)表格實現(xiàn)購物車功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07取消Bootstrap的dropdown-menu點擊默認(rèn)關(guān)閉事件方法
今天小編就為大家分享一篇取消Bootstrap的dropdown-menu點擊默認(rèn)關(guān)閉事件方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08iframe的onreadystatechange事件在firefox下的使用
firefox不支持iframe的onreadystatechange事件,不過有個方法可以實現(xiàn)同等的效果,需要的朋友可以參考下2014-04-04