Vue防止白屏添加首屏动画的实例


Posted in Javascript onOctober 31, 2019

单页应用有个无法避免的问题就是首屏加载慢,虽然可以通过gzip、路由懒加载、CDN、提高服务器带宽等手段,首屏加载速度仍然比传统多页应用慢一些。

为了提高用户体验,首屏添加loading动画很有必要,并且实现特别简单。

vue-cli3生成的项目中,打开index.html会发现如下代码

<body>
 <noscript>
  <strong>We're sorry but doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
 </noscript>
 <div id="app"></div>
 <!-- built files will be auto injected -->

我们只需要在这个div中插入loading代码即可,vue初始化完成后会自动替换

<div id="app">此处插入loading代码</div>

以下是我实现的一种动画效果,可自行替换

Vue防止白屏添加首屏动画的实例

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
 <meta http-equiv="X-UA-Compatible" content="chrome=1"/>
 <link rel="icon" href="<%= BASE_URL %>favicon.ico" rel="external nofollow" >
 <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_1112431_q8oa3yvrwbh.css" rel="external nofollow" >
 <title>demo</title>
 <style>
  .spinner {
   margin: 100px auto;
   width: 50px;
   height: 60px;
   text-align: center;
   font-size: 10px;
  }

  .spinner > div {
   background-color: #FE3C71;
   height: 100%;
   width: 6px;
   display: inline-block;
   -webkit-animation: stretchDelay 1.2s infinite ease-in-out;
   animation: stretchDelay 1.2s infinite ease-in-out;
  }

  .spinner .rect2 {
   -webkit-animation-delay: -1.1s;
   animation-delay: -1.1s;
  }

  .spinner .rect3 {
   -webkit-animation-delay: -1.0s;
   animation-delay: -1.0s;
  }

  .spinner .rect4 {
   -webkit-animation-delay: -0.9s;
   animation-delay: -0.9s;
  }

  .spinner .rect5 {
   -webkit-animation-delay: -0.8s;
   animation-delay: -0.8s;
  }

  @-webkit-keyframes stretchDelay {
   0%, 40%, 100% {
    -webkit-transform: scaleY(0.4)
   }
   20% {
    -webkit-transform: scaleY(1.0)
   }
  }

  @keyframes stretchDelay {
   0%, 40%, 100% {
    transform: scaleY(0.4);
    -webkit-transform: scaleY(0.4);
   }
   20% {
    transform: scaleY(1.0);
    -webkit-transform: scaleY(1.0);
   }
  }
 </style>
</head>
<body>
<noscript>
 <strong>We're sorry but demo doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app">
 <div class="spinner">
  <div class="rect1"></div>
  <div class="rect2"></div>
  <div class="rect3"></div>
  <div class="rect4"></div>
  <div class="rect5"></div>
 </div>
</div>
<!-- built files will be auto injected -->
</body>
</html>

以上这篇Vue防止白屏添加首屏动画的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript打开新窗口同时关闭旧窗口
Jan 16 Javascript
js常用排序实现代码
Dec 28 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
Nov 02 Javascript
JS画5角星方法介绍
Sep 17 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
使用postMesssage()实现iframe跨域页面间的信息传递
Mar 29 Javascript
jQuery简单实现tab选项卡切换效果
Jun 20 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
React Native 环境搭建的教程
Aug 19 Javascript
vue使用axios上传文件(FormData)的方法
Apr 14 Javascript
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
前端canvas中物体边框和控制点的实现示例
Aug 05 Javascript
vue弹出框组件封装实例代码
Oct 31 #Javascript
使用zrender.js绘制体温单效果
Oct 31 #Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 #Javascript
selenium+java中用js来完成日期的修改
Oct 31 #Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 #Javascript
vue项目出现页面空白的解决方案
Oct 31 #Javascript
vue项目引入ts步骤(小结)
Oct 31 #Javascript
You might like
PHP数据库操作面向对象的优点
2006/10/09 PHP
PHPCMS的使用小结
2010/09/20 PHP
php版微信公众号接口实现发红包的方法
2016/10/14 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
IE6 fixed的完美解决方案
2011/03/31 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
Yii2使用Bootbox插件实现自定义弹窗
2015/04/02 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
JQuery PHP图片在线裁剪实例
2020/07/27 Javascript
js实现目录链接,内容跟着目录滚动显示的简单实例
2016/10/15 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
基于Vue实现后台系统权限控制的示例代码
2017/08/29 Javascript
Node.js如何优雅的封装一个实用函数的npm包的方法
2019/04/29 Javascript
Vue CLI项目 axios模块前后端交互的使用(类似ajax提交)
2019/09/01 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
vue 解决uglifyjs-webpack-plugin打包出现报错的问题
2020/08/04 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python如何通过protobuf实现rpc
2016/03/06 Python
Python3.6正式版新特性预览
2016/12/15 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
django 实现编写控制登录和访问权限控制的中间件方法
2019/01/15 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
简单了解Java Netty Reactor三种线程模型
2020/04/26 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
花卉与景观设计系大学生求职信
2013/10/01 职场文书
企业管理培训感言
2014/01/27 职场文书
安全环保演讲稿
2014/08/28 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
农业项目合作意向书
2015/05/08 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL