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 相关文章推荐
使用JavaScript获取电池状态的方法
May 03 Javascript
js动态创建及移除div的方法
Jun 03 Javascript
Node.js静态文件服务器改进版
Jan 10 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
jQuery 判断元素整理汇总
Feb 28 Javascript
微信小程序 获取二维码实例详解
Jun 23 Javascript
vue中element 上传功能的实现思路
Jul 06 Javascript
JS图片预加载三种实现方法解析
May 08 Javascript
详解JavaScript中的链式调用
Nov 27 Javascript
vue实力踩坑之push当前页无效
Apr 10 Vue.js
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
PHP图片处理类 phpThumb参数用法介绍
2012/03/11 PHP
php一次性删除前台checkbox多选内容的方法
2013/09/22 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
PHP APP微信提现接口代码
2018/09/30 PHP
显示、隐藏密码
2006/07/01 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
2011/05/12 Javascript
jQuery中not()方法用法实例
2015/01/06 Javascript
Javascript常用小技巧汇总
2015/06/24 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
2016/06/14 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
React Router基础使用
2017/01/17 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
vue cli2.0单页面title修改方法
2018/06/07 Javascript
详解Typescript 内置的模块导入兼容方式
2020/05/31 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
详解Python Socket网络编程
2016/01/05 Python
对tf.reduce_sum tensorflow维度上的操作详解
2018/07/26 Python
python实现简易动态时钟
2018/11/19 Python
Python同步遍历多个列表的示例
2019/02/19 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
2019/07/09 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
用Python批量把文件复制到另一个文件夹的实现方法
2019/08/16 Python
Python实现二叉树的最小深度的两种方法
2019/09/30 Python
python爬虫可以爬什么
2020/06/16 Python
python爬虫泛滥的解决方法详解
2020/11/25 Python
python实现控制台输出颜色
2021/03/02 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
快速创建 HTML5 Canvas 电信网络拓扑图的示例代码
2018/03/21 HTML / CSS
Lacoste美国官网:经典POLO衫品牌
2016/10/12 全球购物
党员反对四风思想汇报范文
2014/10/25 职场文书
保密工作整改情况汇报
2014/11/06 职场文书
2015社区六五普法工作总结
2015/04/21 职场文书
Python数据清洗工具之Numpy的基本操作
2021/04/22 Python
Python快速优雅的批量修改Word文档样式
2021/05/20 Python
MySQL优化及索引解析
2022/03/17 MySQL