Angular4如何自定义首屏的加载动画详解


Posted in Javascript onJuly 26, 2017

前言

相信大家都知道,在默认情况下,Angular应用程序在首次加载根组件时,会在浏览器的显示一个loading... 我们可以轻松地将loading修改成我们自己定义的动画。下面话不多说,来一起看看详细的介绍:

这是我们要实现首次加载的效果:

Angular4如何自定义首屏的加载动画详解

根组件标签中的内容

请注意:在你的入口文件index.html中,默认的loading...只是插入到根组件标签之间:

<!doctype html>
<html>
<head>
 <meta charset="utf-8">
 <title>Fancy Loading Screen</title>
 <base href="/" rel="external nofollow" >
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="icon" type="image/x-icon" href="favicon.ico" rel="external nofollow" >
</head>
<body>

 <app-root>Loading...</app-root>

</body>
</html>

如果您在加载完根组件检查应用程序,则无法找到loading... 的文字,因为它在应用加载完成后被我们自己定义的组件替换掉。

这意味着我们可以在这些标签之间放置任何内容,包括样式定义,一旦Angular加载完根组件,就可以完全清除它们。

<app-root>
 <style>
 app-root {
  color: purple;
 }
 </style>
 I'm a purple loading message!
</app-root>

我们不必担心这些样式会影响我们的应用程序加载后的内容,因为一切都被完全替换掉。

现在你可以在那里随意的做任何事情。使用css或者svg实现自定义加载动画。

在我们的示例中,我们给页面一个粉红色的背景,我们使用Flexbox 将loading设置居中,给它设置一个更漂亮的字体,我们甚至在省略号上添加一个自定义动画:

<app-root>
 <style>
 app-root {
 display: flex;
 justify-content: center;
 align-items: center;
 height: 100vh;

 color: pink;
 text-transform: uppercase;
 font-family: -apple-system,
  BlinkMacSystemFont,
  "Segoe UI",
  Roboto,
  Oxygen-Sans,
  Ubuntu,
  Cantarell,
  Helvetica,
  sans-serif;
 font-size: 2.5em;
 text-shadow: 2px 2px 10px rgba(0,0,0,0.2);
 }
 body {
 background: salmon;
 margin: 0;
 padding: 0;
 }

 @keyframes dots {
 50% {
  transform: translateY(-.4rem);
 }
 100% {
  transform: translateY(0);
 }
 }

 .d {
 animation: dots 1.5s ease-out infinite;
 }
 .d-2 {
 animation-delay: .5s;
 }
 .d-3 {
 animation-delay: 1s;
 }
 </style>

 Loading<span class="d">.</span><span class="d d-2">.</span><span class="d d-3">.</span>
</app-root>

这样我们就实现了上图的加载效果了,点击这里查看原文

分享几个loading效果的在线素材网:

  • loading.io
  • css-loaders
  • cssload

好了,去创建属于你自己的loading吧!

总结

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

Javascript 相关文章推荐
THREE.JS入门教程(5)你应当知道的十件事
Jan 24 Javascript
javascript内置对象操作详解
Feb 04 Javascript
JQuery分屏指示器图片轮换效果实例
May 21 Javascript
jQuery实现悬浮在右上角的网页客服效果代码
Oct 24 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
Jan 19 Javascript
浅析JavaScript中的特殊数据类型
Dec 15 Javascript
VueRouter导航守卫用法详解
Dec 25 Javascript
vue.js input框之间赋值方法
Aug 24 Javascript
JS实现的字符串数组去重功能小结
Jun 17 Javascript
uni-app 组件里面获取元素宽高的实现
Dec 27 Javascript
bootstrap-table后端分页功能完整实例
Jun 01 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
Jul 22 Javascript
vue上传图片组件编写代码
Jul 26 #Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
Jul 26 #Javascript
基于ExtJs在页面上window再调用Window的事件处理方法
Jul 26 #Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 #Javascript
JavaScript利用fetch实现异步请求的方法实例
Jul 26 #Javascript
深入探究angular2 UI组件之primeNG用法
Jul 26 #Javascript
WdatePicker.js时间日期插件的使用方法
Jul 26 #Javascript
You might like
成为好程序员必须避免的5个坏习惯
2014/07/04 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
图片轮换效果实现代码(点击按钮停止执行)
2013/04/12 Javascript
文本框回车提交与禁止提交示例
2013/09/27 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
JavaScript检测浏览器cookie是否已经启动的方法
2015/02/27 Javascript
详解react-router如何实现按需加载
2017/06/15 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
vue实现a标签点击高亮方法
2018/03/17 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
iView框架问题整理小结
2018/10/16 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
js比较两个单独的数组或对象是否相等的实例代码
2019/04/28 Javascript
[34:47]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第一场 11.18
2020/11/18 DOTA
python实现的各种排序算法代码
2013/03/04 Python
跟老齐学Python之玩转字符串(1)
2014/09/14 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
Python-opencv 双线性插值实例
2020/01/17 Python
Python中if有多个条件处理方法
2020/02/26 Python
python GUI库图形界面开发之PyQt5日期时间控件QDateTimeEdit详细使用方法与实例
2020/02/27 Python
Python识别处理照片中的条形码
2020/11/16 Python
Css3实现无缝滚动防抖
2020/09/14 HTML / CSS
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
New Balance比利时官方网站:购买鞋子和服装
2021/01/15 全球购物
仓库班组长岗位职责
2013/12/12 职场文书
工程项目建议书范文
2014/03/12 职场文书
大学生工作自荐书
2014/06/16 职场文书
在校实习生求职信
2014/06/18 职场文书
三好学生事迹材料
2014/12/24 职场文书
2015年国税春训心得体会
2015/03/09 职场文书
退货证明模板
2015/06/23 职场文书
MySQL的Query Cache图文详解
2021/07/01 MySQL
Smart 2 车辆代号 HC11 全新谍照曝光
2022/04/21 数码科技