利用canvas实现的加载动画效果实例代码


Posted in Javascript onJuly 05, 2017

前言

以前在浏览文章时,看到过一个Android的加载效果,觉得挺好看的,于是自己就模仿了一个。下面话不多说,我们直接来看看详细的介绍吧。

运行效果图

利用canvas实现的加载动画效果实例代码

分析下这个效果:

      1.可以把这四个方块标号

      2.这个运动效果其实只用分解为两段动画,一段是上下移动,一段是左右移动。

示例代码:

/*核心代码*/
/*分析动画,其实动画只有两次的执行*/
   var for_index = 1;//记录当前执行动画的序列
   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.3water.com/201707/yuanma/lzLoading(3water.com).rar

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
Prototype 学习 工具函数学习($方法)
Jul 12 Javascript
基于jQuery的一个扩展form序列化到json对象
Dec 09 Javascript
js实现div闪烁原理及实现代码
Jun 24 Javascript
JavaScript动态改变HTML页面元素例如添加或删除
Aug 10 Javascript
js+csss实现的一个带复选框的下拉框
Sep 29 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
ASP.NET jquery ajax传递参数的实例
Nov 02 Javascript
删除table表格行的实例讲解
Sep 21 Javascript
vue组件表单数据回显验证及提交的实例代码
Aug 30 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
vue 子组件和父组件传值的示例
Sep 11 Javascript
JavaScript数组 几个常用方法总结
Nov 11 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 #Javascript
vue一步步实现alert功能
Jul 05 #Javascript
详解vue.js移动端导航navigationbar的封装
Jul 05 #Javascript
JS实现移动端按首字母检索城市列表附源码下载
Jul 05 #Javascript
webpack教程之webpack.config.js配置文件
Jul 05 #Javascript
webstorm添加vue.js支持的方法教程
Jul 05 #Javascript
vue.js实现刷新当前页面的方法教程
Jul 05 #Javascript
You might like
php使用fsockopen函数发送post,get请求获取网页内容的方法
2014/11/15 PHP
PHP实现在windows下配置sendmail并通过mail()函数发送邮件的方法
2017/06/20 PHP
thinkPHP3.2使用RBAC实现权限管理的实现
2019/08/27 PHP
js 对联广告、漂浮广告封装类(IE,FF,Opera,Safari,Chrome
2009/11/26 Javascript
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
JavaScript转换农历类实现及调用方法
2013/01/27 Javascript
jQuery中innerWidth()方法用法实例
2015/01/19 Javascript
javascript实现网页屏蔽Backspace事件,输入框不屏蔽
2015/07/21 Javascript
javascript性能优化之DOM交互操作实例分析
2015/12/12 Javascript
jQuery实现小火箭返回顶部特效
2020/02/03 jQuery
写给新手同学的vuex快速上手指北小结
2020/04/14 Javascript
详解vue路由
2020/08/05 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
Python实现将一个大文件按段落分隔为多个小文件的简单操作方法
2017/04/17 Python
Python自然语言处理 NLTK 库用法入门教程【经典】
2018/06/26 Python
Python实现矩阵相乘的三种方法小结
2018/07/26 Python
实例讲解python中的序列化知识点
2018/10/08 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
Python对列表的操作知识点详解
2019/08/20 Python
python字符串反转的四种方法详解
2019/12/02 Python
基于python连接oracle导并出数据文件
2020/04/28 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
一封普通求职者的求职信
2013/11/20 职场文书
旷课检讨书2000字
2014/01/14 职场文书
xxx同志考察材料
2014/02/07 职场文书
三方股份合作协议书
2014/10/13 职场文书
初中学生操行评语
2014/12/26 职场文书
学生保证书格式
2015/02/27 职场文书
党务工作者主要事迹材料
2015/11/03 职场文书
2016年学校安全教育月活动总结
2016/04/06 职场文书
请假条应该怎么写?
2019/06/24 职场文书
餐厅营销的秘密:为什么老顾客会流水?
2019/08/08 职场文书