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 相关文章推荐
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
IE6 hack for js 集锦
Sep 23 Javascript
使用AOP改善javascript代码
May 01 Javascript
JavaScript中关联原型链属性特性
Feb 13 Javascript
JS原型、原型链深入理解
Feb 27 Javascript
基于bootstrap的文件上传控件bootstrap fileinput
Dec 23 Javascript
JavaScript Drum Kit 指南(纯 JS 模拟敲鼓效果)
Jul 23 Javascript
axios对请求各种异常情况处理的封装方法
Sep 25 Javascript
this.$toast() 了解一下?
Apr 18 Javascript
JavaScript前端实现压缩图片功能
Mar 06 Javascript
Vue js with语句原理及用法解析
Sep 03 Javascript
JS模拟实现京东快递单号查询
Nov 30 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 操作符与控制结构
2012/03/07 PHP
PHP弹出对话框技巧详细解读
2015/09/26 PHP
Adnroid 微信内置浏览器清除缓存
2016/07/11 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
JS 文件传参及处理技巧分析
2010/05/13 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
js滚动条回到顶部的代码
2011/12/06 Javascript
jQuery中index()方法用法实例
2014/12/27 Javascript
jQuery实现tab标签自动切换的方法
2015/02/28 Javascript
javascript+ajax实现产品页面加载信息
2015/07/09 Javascript
javascript轮播图算法
2016/10/21 Javascript
使用JSON作为函数的参数的优缺点
2016/10/27 Javascript
Vue异步组件使用详解
2017/04/08 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
[01:10]为家乡而战!完美世界城市挑战赛全国总决赛花絮
2019/07/25 DOTA
python实现关键词提取的示例讲解
2018/04/28 Python
Python 实现中值滤波、均值滤波的方法
2019/01/09 Python
Windows 平台做 Python 开发的最佳组合(推荐)
2020/07/27 Python
python实现取余操作的简单实例
2020/08/16 Python
CSS3教程(10):CSS3 HSL声明设置颜色
2009/04/02 HTML / CSS
英国在线发型和美容产品商店:Beauty Cutie
2019/04/27 全球购物
钳工实习自我鉴定
2013/09/19 职场文书
学生干部的自我评价分享
2014/01/18 职场文书
交通事故赔偿协议书范本
2014/04/15 职场文书
求职简历自荐信
2014/06/18 职场文书
ktv好的活动方案
2014/08/17 职场文书
大学同学会活动方案
2014/08/20 职场文书
初中成绩单评语
2014/12/29 职场文书
公司财务人员岗位职责
2015/04/14 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
医院感染管理制度
2015/08/05 职场文书
师德师风心得体会(2016精选篇)
2016/01/12 职场文书
php引用传递
2021/04/01 PHP