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 使用手册(四)
Sep 23 Javascript
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
May 22 Javascript
Document:getElementsByName()使用方法及示例
Oct 28 Javascript
javascript解析json数据的3种方式
May 08 Javascript
jquery中each方法示例和常用选择器
Jul 08 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
JS+CSS实现仿msn风格选项卡效果代码
Oct 22 Javascript
jQuery获取所有父级元素及同级元素及子元素的方法(推荐)
Jan 21 jQuery
VUE DOM加载后执行自定义事件的方法
Sep 07 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 Javascript
详解Vue中Axios封装API接口的思路及方法
Oct 10 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
Dec 20 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去掉字符串的最后一个字符附substr()的用法
2011/03/23 PHP
php 随机排序广告的实现代码
2011/05/09 PHP
php使用正则表达式去掉html中的注释方法
2016/11/03 PHP
详解PHP安装mysql.so扩展的方法
2016/12/31 PHP
Yii框架用户登录session丢失问题解决方法
2017/01/07 PHP
jquery实现图片左右间隔滚动特效(可自动播放)
2013/05/08 Javascript
jQuery Mobile动态刷新页面样式的实现方法
2016/05/28 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
Bootstrap模态框禁用空白处点击关闭
2016/10/20 Javascript
Easyui和zTree两种方式分别实现树形下拉框
2017/08/04 Javascript
浅谈express 中间件机制及实现原理
2017/08/31 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
Vue的轮播图组件实现方法
2018/03/03 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
Vue + Node.js + MongoDB图片上传组件实现图片预览和删除功能详解
2020/04/29 Javascript
vue-model实现简易计算器
2020/08/17 Javascript
详解JavaScript作用域、作用域链和闭包的用法
2020/09/03 Javascript
对python函数签名的方法详解
2019/01/22 Python
Django保护敏感信息的方法示例
2019/05/09 Python
Python Django框架实现应用添加logging日志操作示例
2019/05/17 Python
python web框架 django wsgi原理解析
2019/08/20 Python
Pycharm激活方法及详细教程(详细且实用)
2020/05/12 Python
python实现登录与注册系统
2020/11/30 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
Joules美国官网:出色的英国风格
2017/10/30 全球购物
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
财务经理岗位职责
2013/11/09 职场文书
车间核算员岗位职责
2014/07/01 职场文书
公司给客户的感谢信
2015/01/23 职场文书
公司食堂管理制度
2015/08/05 职场文书
世界文化遗产导游词
2019/08/07 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js
mysql sql常用语句大全
2022/06/21 MySQL