利用canvas實(shí)現(xiàn)的加載動(dòng)畫效果實(shí)例代碼
前言
以前在瀏覽文章時(shí),看到過一個(gè)Android的加載效果,覺得挺好看的,于是自己就模仿了一個(gè)。下面話不多說,我們直接來看看詳細(xì)的介紹吧。
運(yùn)行效果圖
分析下這個(gè)效果:
1.可以把這四個(gè)方塊標(biāo)號
2.這個(gè)運(yùn)動(dòng)效果其實(shí)只用分解為兩段動(dòng)畫,一段是上下移動(dòng),一段是左右移動(dòng)。
示例代碼:
/*核心代碼*/ /*分析動(dòng)畫,其實(shí)動(dòng)畫只有兩次的執(zhí)行*/ var for_index = 1;//記錄當(dāng)前執(zhí)行動(dòng)畫的序列 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);
由于在高分屏下繪制有點(diǎn)模糊,于是引入了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ù)表格實(shí)現(xiàn)購物車功能
這篇文章主要為大家詳細(xì)介紹了layui使用數(shù)據(jù)表格實(shí)現(xiàn)購物車功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07取消Bootstrap的dropdown-menu點(diǎn)擊默認(rèn)關(guān)閉事件方法
今天小編就為大家分享一篇取消Bootstrap的dropdown-menu點(diǎn)擊默認(rèn)關(guān)閉事件方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08JavaScript實(shí)現(xiàn)簡單的彈窗效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單的彈窗效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05iframe的onreadystatechange事件在firefox下的使用
firefox不支持iframe的onreadystatechange事件,不過有個(gè)方法可以實(shí)現(xiàn)同等的效果,需要的朋友可以參考下2014-04-04