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 相关文章推荐
jquery解决图片路径不存在执行替换路径
Feb 06 Javascript
jQuery动态添加、删除元素的方法
Jan 09 Javascript
JQuery以JSON方式提交数据到服务端示例代码
May 05 Javascript
JavaScript用JQuery呼叫Server端方法示例代码
Sep 03 Javascript
JQuery记住用户名密码实现下次自动登录功能
Apr 27 Javascript
高效的jQuery代码编写技巧总结
Feb 22 Javascript
jQuery实现三级联动效果
Mar 02 Javascript
js学习总结之dom2级事件基础知识详解
Jul 27 Javascript
js异步编程小技巧详解
Aug 14 Javascript
深入探索VueJS Scoped CSS 实现原理
Sep 23 Javascript
基于JavaScript获取base64图片大小
Oct 18 Javascript
javascript实现简易数码时钟
Mar 30 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
基于PHP开发中的安全防范知识详解
2013/06/06 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
extjs tabpanel限制选项卡数量实现思路及代码
2013/04/02 Javascript
jquery中show()、hide()和toggle()用法实例
2015/01/15 Javascript
jQuery增加自定义函数的方法
2015/07/18 Javascript
uploadify多文件上传参数设置技巧
2015/11/16 Javascript
jQuery+ajax实现文章点赞功能的方法
2015/12/31 Javascript
基于jQuery实现滚动刷新效果
2017/01/09 Javascript
vue路由嵌套的SPA实现步骤
2017/11/06 Javascript
bootstrap 通过加减按钮实现输入框组功能
2017/11/15 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
红黑树的插入详解及Javascript实现方法示例
2018/03/26 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
JavaScript this绑定过程深入详解
2018/12/07 Javascript
js String.prototype.trim字符去前后空格的扩展
2020/08/23 Javascript
[00:12]DAC2018 Miracle-站上中单舞台,他能否再写奇迹?
2018/04/06 DOTA
python买卖股票的最佳时机(基于贪心/蛮力算法)
2019/07/05 Python
Python参数类型以及常见的坑详解
2019/07/08 Python
对YOLOv3模型调用时候的python接口详解
2019/08/26 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
微软澳洲官方网站:Microsoft Australia
2017/01/10 全球购物
Linden Leaves官网:新西兰纯净护肤品
2020/12/20 全球购物
Java的for语句中break, continue和return的区别
2013/12/19 面试题
建筑实习自我鉴定
2013/10/18 职场文书
医科学校毕业生自荐信
2013/11/09 职场文书
中专毕业生自我鉴定
2014/02/02 职场文书
公开承诺书格式
2014/05/21 职场文书
土木工程求职信
2014/05/29 职场文书
2016年“七一建党节”广播稿
2015/12/18 职场文书
《我的伯父鲁迅先生》教学反思
2016/02/16 职场文书
2016年学校十一国庆节活动总结
2016/04/01 职场文书
python blinker 信号库
2022/05/04 Python
Java版 单机五子棋
2022/05/04 Java/Android
python实现学员管理系统(面向对象版)
2022/06/05 Python
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技