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


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 相关文章推荐
父子窗体间传递JSON格式的数据的代码
Dec 25 Javascript
JS模板实现方法
Apr 03 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
JavaScript学习笔记之定时器
Jan 22 Javascript
javascript随机显示背景图片的方法
Jun 18 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
Bootstrap多级导航栏(级联导航)的实现代码
Mar 08 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
小程序实现授权登陆的解决方案
Dec 02 Javascript
Vue 之孙组件向爷组件通信的实现
Apr 23 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
Jul 10 Javascript
javascript实现滚动条效果
Mar 24 Javascript
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
构建简单的Webmail系统
2006/10/09 PHP
《PHP边学边教》(02.Apache+PHP环境配置――下篇)
2006/12/13 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
ThinkPHP5.1框架数据库链接和增删改查操作示例
2019/08/03 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
浅谈JavaScript Array对象
2014/12/29 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
使用JQuery实现的分页插件分享
2015/11/05 Javascript
JS实现日期时间动态显示的方法
2015/12/07 Javascript
详解JS面向对象编程
2016/01/24 Javascript
Backbone中View之间传值的学习心得
2016/08/09 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
Angular中$state.go页面跳转并传递参数的方法
2017/05/09 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
JS写XSS cookie stealer来窃取密码的步骤详解
2017/11/20 Javascript
webpack公共组件引用路径简化小技巧
2018/06/15 Javascript
深入了解JavaScript代码覆盖
2019/06/13 Javascript
Python原始字符串与Unicode字符串操作符用法实例分析
2017/07/22 Python
Python小工具之消耗系统指定大小内存的方法
2018/12/03 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
python实现AES加密解密
2019/03/28 Python
tensorflow多维张量计算实例
2020/02/11 Python
python数据爬下来保存的位置
2020/02/17 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
2020/03/17 Python
Python3开发环境搭建详细教程
2020/06/18 Python
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
西班牙伏林航空公司:Vueling
2016/08/05 全球购物
欢迎横幅标语
2014/06/17 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
2016年情人节广告语
2016/01/28 职场文书
MySQL非空约束(not null)案例讲解
2021/08/23 MySQL