微信小程序实现自定义加载图标功能


Posted in Javascript onJuly 19, 2018

效果图

微信小程序实现自定义加载图标功能

实现思路

1.首先通过HTML+CSS实现加载动画的静态效果;

2.根据需求给每个动画设计不同的动画效果。

例如第一个加载图标的静态绘制

1、首先确定动画的盒子宽高;

2、设置盒子中每一个长方形的宽高以及定位(注意:此处需要将长方形的旋转中心点移动到长方形的右侧边终点,方便后期以该点旋转。);

3、通过长方形盒子的伪元素,设置显示的长方形背景和宽高,同时进行定位。

4、由于在第二步的时候,已经将旋转中心移动,此处我们直接对每一个盒子中长方形进行旋转(注意:旋转角度 = 360 / 盒子中长方形个数)。

.circle-line{
  width: 100px;
  height: 100px;
  display: inline-block;
  position: relative;
}
.circle-line text{
  display: block;
  width: 50%;
  height: 5px;
  opacity: .7;
  position: absolute;
  top: calc(50% - 2.5px);
  left: 0px;
  transform-origin: center right; 
}
.circle-line text::before{
  content: '';
  display: block;
  width: 15px;
  height: 5px;
  position: absolute;
  top: 0;
  right: 10px;
  background-color: blue;
}
.circle-line text:nth-child(1){
  transform: rotate(0deg);
}
.circle-line text:nth-child(2){
  transform: rotate(45deg);
}
.circle-line text:nth-child(3){
  transform: rotate(90deg);
}
.circle-line text:nth-child(4){
  transform: rotate(135deg);
}
.circle-line text:nth-child(5){
  transform: rotate(180deg);
}
.circle-line text:nth-child(6){
  transform: rotate(225deg);
}
.circle-line text:nth-child(7){
  transform: rotate(270deg);
}
.circle-line text:nth-child(8){
  transform: rotate(315deg);
}

动画制作

观察发现动画只是针对每个长方形的透明度进行改变,所以动画采用从0.05到0.9的透明度循环改变。

@keyframes circle {
  0%{
    opacity: 0.05;
  }
  100%{
    opacity: 0.9;
  }
}

进行动画绑定

.circle-line text{
  animation: circle 1.5s linear infinite; 
}

动画绑定完成,发现所有的整个图标一起显示消失,那么也就是缺少了对单个个体的动画处理,延迟动画时间,使其依次渐变。

单个动画处理

.circle-line text:nth-child(1){
  animation-delay: 0.2s;
}
.circle-line text:nth-child(2){
  animation-delay: 0.4s;
}
.circle-line text:nth-child(3){
  animation-delay: 0.6s;
}
.circle-line text:nth-child(4){
  animation-delay: 0.8s;
}
.circle-line text:nth-child(5){
  animation-delay: 1s;
}
.circle-line text:nth-child(6){
  animation-delay: 1.2s;
}
.circle-line text:nth-child(7){
  animation-delay: 1.4s;
}
.circle-line text:nth-child(8){
  animation-delay: 1.6s;
}

注意:单个动画延迟的时间必须超过动画执行的总时间,防止一个动画执行完成后的卡顿。

总结

以上所述是小编给大家介绍的微信小程序实现自定义加载图标功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
Add Formatted Data to a Spreadsheet
Jun 12 Javascript
如何用ajax来创建一个XMLHttpRequest对象
Dec 10 Javascript
js 金额格式化来回转换示例
Feb 23 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
使用cookie绕过验证码登录的实现代码
Oct 12 Javascript
基于three.js编写的一个项目类示例代码
Jan 05 Javascript
vue cli webpack中使用sass的方法
Feb 24 Javascript
小程序点赞收藏功能的实现代码示例
Sep 07 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
js+canvas实现转盘效果(两个版本)
Sep 13 Javascript
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
Angular5集成eventbus的示例代码
Jul 19 #Javascript
微信小程序实现弹出菜单
Jul 19 #Javascript
微信小程序实现之手势锁功能实例代码
Jul 19 #Javascript
React组件重构之嵌套+继承及高阶组件详解
Jul 19 #Javascript
微信小程序实现折叠展开效果
Jul 19 #Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 #Javascript
微信小程序实现天气预报功能
Jul 18 #Javascript
You might like
人大复印资料处理程序_输入篇
2006/10/09 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
JavaScript中offsetWidth的bug及解决方法
2017/05/17 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
Vue封装Axios请求和拦截器的步骤
2020/09/16 Javascript
[50:27]OG vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.26
2018/08/30 DOTA
python获取文件扩展名的方法
2015/07/06 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
Python利用公共键如何对字典列表进行排序详解
2018/05/19 Python
Python操作mongodb的9个步骤
2018/06/04 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
python中HTMLParser模块知识点总结
2021/01/25 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
HTML5对手机页面长按会粘贴复制禁用的解决方法
2016/07/19 HTML / CSS
Nordgreen手表德国官方网站:丹麦极简主义手表
2019/10/31 全球购物
新闻专业个人自我评价
2013/09/21 职场文书
电子商务专业个人的自我评价
2013/11/19 职场文书
新学期班主任寄语
2014/01/18 职场文书
演讲主持词
2014/03/18 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
委托书格式要求
2015/01/28 职场文书
志愿者个人总结
2015/03/03 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
python实现图片九宫格分割的示例
2021/04/25 Python
css3新特性的应用示例分析
2022/03/16 HTML / CSS