位置: IT常识 - 正文

Vue实现网页首屏加载动画、页面内请求数据加载loading(vue默认首页)

编辑:rootadmin
Vue实现网页首屏加载动画、页面内请求数据加载loading 博主介绍

推荐整理分享Vue实现网页首屏加载动画、页面内请求数据加载loading(vue默认首页),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue默认首页,vue开发网站首页,vue界面,vue开发网站首页,vue单页应用首屏加载优化,vue怎么设置首页,vue首页布局,vue怎么设置首页,内容如对您有帮助,希望把文章链接给更多的朋友!

📢点击下列内容可跳转对应的界面,查看更多精彩内容!

🍎主页:水香木鱼 🍍专栏:后台管理系统

文章目录

简介:这是一篇有关【Vue实现网页首屏加载动画、页面内请求数据加载loading】的文章,博主用最精简的语言去表达给前端读者们。

四圆点漩涡电池状态请求数据加载loading齿轮gif图片效果

使用范例:public/index.html【完整代码】

<!DOCTYPE html><html lang="en"> <head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width,initial-scale=1.0" /> <link rel="icon" href="<%= BASE_URL %>favicon.ico" /> <!-- 加载动画 --> <style>html,body,#app{width:100%;height:100%;}.d2-home{background-color:#303133;height:100%;display:flex;position:relative;}.d2-home__main{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);}.d2-home__footer{width:100%;flex-grow:0;text-align:center;padding:1em 0;}.d2-home__loading{height:82px;width:82px;}</style> <title><%= webpackConfig.name %></title> </head> <body> <noscript> <strong >We're sorry but test doesn't work properly without JavaScript enabled. Please enable it to continue.</strong > </noscript> <div id="app"> <!-- 动画节点 --> <div class="d2-home__main"> <img class="d2-home__loading" src="./image/20180919030732834.gif" alt="loading" /> </div> </div> <!-- built files will be auto injected --> </body></html>

注意:“加载动画不可与请求数据的组件同时使用!” 否则会出现两个加载效果。

在public/index中使用需要谨慎,因为这是全局加载的。建议使用loading组件1、四圆点加载动画

压缩版样式文件:

<style>#loading-mask{position:fixed;left:0;top:0;height:100%;width:100%;background:#fff;user-select:none;z-index:9999;overflow:hidden}.loading-wrapper{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%)}.loading-dot{animation:antRotate 1.2s infinite linear;transform:rotate(45deg);position:relative;display:inline-block;font-size:64px;width:64px;height:64px;box-sizing:border-box}.loading-dot i{width:22px;height:22px;position:absolute;display:block;background-color:#1890ff;border-radius:100%;transform:scale(.75);transform-origin:50% 50%;opacity:.3;animation:antSpinMove 1s infinite linear alternate}.loading-dot i:nth-child(1){top:0;left:0}.loading-dot i:nth-child(2){top:0;right:0;-webkit-animation-delay:.4s;animation-delay:.4s}.loading-dot i:nth-child(3){right:0;bottom:0;-webkit-animation-delay:.8s;animation-delay:.8s}.loading-dot i:nth-child(4){bottom:0;left:0;-webkit-animation-delay:1.2s;animation-delay:1.2s}@keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@-webkit-keyframes antRotate{to{-webkit-transform:rotate(405deg);transform:rotate(405deg)}}@keyframes antSpinMove{to{opacity:1}}@-webkit-keyframes antSpinMove{to{opacity:1}}</style>

动画节点:

在id=“app” 标签内加入

<!-- 动画节点 --><div id="loading-mask"> <div class="loading-wrapper"> <span class="loading-dot loading-dot-spin"><i></i><i></i><i></i><i></i></span> </div></div>2、旋涡加载动画

压缩版样式文件:

<style>html,body,#app{height:100%;margin:0px;padding:0px;}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0;}#loader-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999;}#loader{display:block;position:relative;left:50%;top:50%;width:150px;height:150px;margin:-75px 0 0 -75px;border-radius:50%;border:3px solid transparent;border-top-color:#FFF;-webkit-animation:spin 2s linear infinite;-ms-animation:spin 2s linear infinite;-moz-animation:spin 2s linear infinite;-o-animation:spin 2s linear infinite;animation:spin 2s linear infinite;z-index:1001;}#loader:before{content:"";position:absolute;top:5px;left:5px;right:5px;bottom:5px;border-radius:50%;border:3px solid transparent;border-top-color:#FFF;-webkit-animation:spin 3s linear infinite;-moz-animation:spin 3s linear infinite;-o-animation:spin 3s linear infinite;-ms-animation:spin 3s linear infinite;animation:spin 3s linear infinite;}#loader:after{content:"";position:absolute;top:15px;left:15px;right:15px;bottom:15px;border-radius:50%;border:3px solid transparent;border-top-color:#FFF;-moz-animation:spin 1.5s linear infinite;-o-animation:spin 1.5s linear infinite;-ms-animation:spin 1.5s linear infinite;-webkit-animation:spin 1.5s linear infinite;animation:spin 1.5s linear infinite;}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}@keyframes spin{0%{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg);}}#loader-wrapper .loader-section{position:fixed;top:0;width:51%;height:100%;background:#1890ff;z-index:1000;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);}#loader-wrapper .loader-section.section-left{left:0;}#loader-wrapper .loader-section.section-right{right:0;}.loaded #loader-wrapper .loader-section.section-left{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);-webkit-transition:all 0.7s 0.3s cubic-bezier(0.645,0.045,0.355,1.000);transition:all 0.7s 0.3s cubic-bezier(0.645,0.045,0.355,1.000);}.loaded #loader-wrapper .loader-section.section-right{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);-webkit-transition:all 0.7s 0.3s cubic-bezier(0.645,0.045,0.355,1.000);transition:all 0.7s 0.3s cubic-bezier(0.645,0.045,0.355,1.000);}.loaded #loader{opacity:0;-webkit-transition:all 0.3s ease-out;transition:all 0.3s ease-out;}.loaded #loader-wrapper{visibility:hidden;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:all 0.3s 1s ease-out;transition:all 0.3s 1s ease-out;}.no-js #loader-wrapper{display:none;}.no-js h1{color:#222222;}#loader-wrapper .load_title{font-family:'Open Sans';color:#FFF;font-size:19px;width:100%;text-align:center;z-index:9999999999999;position:absolute;top:60%;opacity:1;line-height:30px;}#loader-wrapper .load_title span{font-weight:normal;font-style:italic;font-size:13px;color:#FFF;opacity:0.5;}</style>

动画节点:

Vue实现网页首屏加载动画、页面内请求数据加载loading(vue默认首页)

在id=“app” 标签内加入

<!-- 动画节点 --><div id="loader-wrapper"> <div id="loader"></div> <div class="loader-section section-left"></div> <div class="loader-section section-right"></div> <div class="load_title">正在加载,请耐心等待 <br> <span>V0.1</span> </div></div>3、电池状态加载动画

压缩版样式:

<style media="screen" type="text/css">#app-cockpit-loading{width:120px;height:40px;position:absolute;font-size:50px;line-height:50px;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);}#app-cockpit-loading span{display:inline-block;width:8px;height:100%;border-radius:4px;background:#1890ff;-webkit-animation:load 1s ease infinite;}@-webkit-keyframes load{0%,100%{height:40px;background:#1890ff;}50%{height:70px;margin:-15px 0;background:lightblue;}}#app-cockpit-loading span:nth-child(2){-webkit-animation-delay:0.2s;}#app-cockpit-loading span:nth-child(3){-webkit-animation-delay:0.4s;}#app-cockpit-loading span:nth-child(4){-webkit-animation-delay:0.6s;}#app-cockpit-loading span:nth-child(5){-webkit-animation-delay:0.8s;}</style>

动画节点:

在id=“app” 标签内加入

<!-- 动画节点 --><div id="app-cockpit-loading"> <span></span> <span></span> <span></span> <span></span> <span></span></div>4、请求数据缓慢实现loading提示【推荐】

更多加载图标请移步–网页动态加载(loading)GIF图标

Ⅰ、封装loading组件【推荐】

loading.vue

<template> <div class="loadingBox" v-show="loading" style="background-color: rgba(0, 0, 0, 0.5)" > <div class="sun-loading"></div> </div></template><script>export default { name: "loading", data() { return { loading: false, }; }, created() { var that = this; this.bus.$on("loading", function (data) { that.loading = !!data; }); },};</script><style lang="less" scoped>.sun-loading { width: 45px; height: 45px; display: block; animation: sunLoading 1s steps(12, end) infinite; background: transparent url("https://www.yuucn.com/wp-content/uploads/2023/04/1682077944-a72a629df18b8ad.gif?imageMogr2/format/jpg/blur/1x0/quality/60"); background-size: 100%; margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0;}</style>

根文件(App.vue)中使用:

<template> <div id="app"> <keep-alive> <router-view v-if="$route.meta.keepAlive" /> </keep-alive> <router-view v-if="!$route.meta.keepAlive" /> <!--loading加载--> <Loading></Loading> <div style="height: 30px"></div> </div></template><script>import Loading from "./components/loading.vue";//引用loading组件export default { components: { Loading, },};</script>

main.js中全局注册

Vue.prototype.bus = new Vue();

页面使用:

//获取列表数据getList() { // 显示loading this.bus.$emit("loading", true); //请求接口 fetchList({ keywords: "水香木鱼", pageIndex: this.pageIndex, pageSize: this.pageSize, }) .then((res) => { this.listData = res.data; // 关闭loading this.bus.$emit("loading", false); }) .catch((error) => {});},Ⅱ、通过elementUI实现

//获取列表数据getList() { // 开始加载loading let loading = this.$loading({ lock: true, //lock的修改符--默认是false text: "拼命加载中,请稍候...", //显示在加载图标下方的加载文案 background: "rgba(0,0,0,0.8)", //遮罩层颜色 spinner: "el-icon-loading", //自定义加载图标类名 }); //请求接口 fetchList({ keywords: "水香木鱼", pageIndex: this.pageIndex, pageSize: this.pageSize, }) .then((res) => { this.listData = res.data; //关闭loading loading.close(); }) .catch((error) => {});},5、齿轮加载gif效果

压缩版样式:

<style>html,body,#app{width:100%;height:100%;}.d2-home{background-color:#303133;height:100%;display:flex;position:relative;}.d2-home__main{position:absolute;left:50%;top:50%;transform:translateX(-50%) translateY(-50%);}.d2-home__footer{width:100%;flex-grow:0;text-align:center;padding:1em 0;}.d2-home__loading{height:82px;width:82px;}</style>

动画节点:

在id=“app” 标签内加入

<div class="d2-home__main"> <img class="d2-home__loading" src="./image/20180919030732834.gif" alt="loading" /></div>相关推荐

⭐Vue实现任意内容展开 / 收起功能组件 ⭐Vue实现点击按钮或者图标可编辑输入框 ⭐vue-生成二维码【生成、点击输入框内叉号移除生成的二维码、输入框聚焦】 ⭐一文图解前端WebSocket 实时通信 ⭐前端实现放大镜效果【原生js实现、vue实现】

本文链接地址:https://www.jiuchutong.com/zhishi/287943.html 转载请保留说明!

上一篇:Obsidian:实现日记记录【设计并使用模板】

下一篇:日落时的多伦多天际线 (© diegograndi/Getty Images)(多伦多日照时间)

  • 腾讯会议打字发不出去怎么办(腾讯会议打字发不出去是什么原因)

    腾讯会议打字发不出去怎么办(腾讯会议打字发不出去是什么原因)

  • 页脚文字怎么设置(页脚文字怎么设计)

    页脚文字怎么设置(页脚文字怎么设计)

  • qq实名认证可以修改几次(qq实名认证可以找回账号密码吗)

    qq实名认证可以修改几次(qq实名认证可以找回账号密码吗)

  • 荣耀30pro是几个颜色(荣耀30pro几个送话器)

    荣耀30pro是几个颜色(荣耀30pro几个送话器)

  • 微信视频为啥左右脸是反的(微信视频往右边偏怎么办)

    微信视频为啥左右脸是反的(微信视频往右边偏怎么办)

  • 屏幕晃动怎么回事(屏幕晃来晃去)

    屏幕晃动怎么回事(屏幕晃来晃去)

  • oppo手机声音增大代码(oppo手机声音增强器有什么用)

    oppo手机声音增大代码(oppo手机声音增强器有什么用)

  • 锐龙和英特尔处理器对比(锐龙和英特尔处理器天梯图)

    锐龙和英特尔处理器对比(锐龙和英特尔处理器天梯图)

  • 打印机突然不通电(打印机突然不工作)

    打印机突然不通电(打印机突然不工作)

  • 华为nova6智能遥控在哪里(华为手机智能遥控在哪nova6)

    华为nova6智能遥控在哪里(华为手机智能遥控在哪nova6)

  • 蓝牙耳机放进充电仓是自动充电吗(蓝牙耳机放进充电仓一直亮红灯)

    蓝牙耳机放进充电仓是自动充电吗(蓝牙耳机放进充电仓一直亮红灯)

  • 闽政通手机号被注册怎么处理(闽政通手机号被注销忘了密码要怎么登记)

    闽政通手机号被注册怎么处理(闽政通手机号被注销忘了密码要怎么登记)

  • 耳机沙沙响是什么原因(耳机沙沙的响)

    耳机沙沙响是什么原因(耳机沙沙的响)

  • 闲鱼什么时候成立的(闲鱼什么时候成交)

    闲鱼什么时候成立的(闲鱼什么时候成交)

  • iphone11各版本对比(iphone11各个版本区别)

    iphone11各版本对比(iphone11各个版本区别)

  • qq删了聊天记录还有吗(qq删了聊天记录别人登能看到吗)

    qq删了聊天记录还有吗(qq删了聊天记录别人登能看到吗)

  • ipad可以扩大内存吗(ipad内存能扩大吗)

    ipad可以扩大内存吗(ipad内存能扩大吗)

  • 手机qq怎么改群昵称(手机QQ怎么改群昵称)

    手机qq怎么改群昵称(手机QQ怎么改群昵称)

  • 小米mde6s是哪款手机(小米mde6s图片及价格)

    小米mde6s是哪款手机(小米mde6s图片及价格)

  • 长虹电视怎么切换到机顶盒(长虹电视怎么切换数字电视)

    长虹电视怎么切换到机顶盒(长虹电视怎么切换数字电视)

  • 微信etc怎么取消订单(怎样取消微信etc)

    微信etc怎么取消订单(怎样取消微信etc)

  • 蠕虫病毒怎么杀的彻底(蠕虫病毒怎么清理)

    蠕虫病毒怎么杀的彻底(蠕虫病毒怎么清理)

  • 苹果手机屏幕待机时间在哪里设置(苹果手机屏幕待机时间自动锁定改不了)

    苹果手机屏幕待机时间在哪里设置(苹果手机屏幕待机时间自动锁定改不了)

  • qq举报限制加好友怎么办(qq举报成功限制加好友)

    qq举报限制加好友怎么办(qq举报成功限制加好友)

  • lims是什么(lims是什么意思西门子机加工)

    lims是什么(lims是什么意思西门子机加工)

  • 华为鸿蒙一键抠图怎么用?鸿蒙一键抠图使用教程(华为鸿蒙一键抠图)

    华为鸿蒙一键抠图怎么用?鸿蒙一键抠图使用教程(华为鸿蒙一键抠图)

  • Win10系统没有声音怎么修复?(win10系统没有声卡驱动)

    Win10系统没有声音怎么修复?(win10系统没有声卡驱动)

  • 纳税人进口货物应当自海关填发税款
  • 在建工程和预付款项调整
  • 上市审计费入账
  • 抵扣认证的发票怎么查询
  • 残保金申报在哪申报
  • 一般纳税人企业所得税税率
  • 铁路大票抵扣几个点
  • 销售退回的增值税怎么处理
  • 车购税退税需要多长时间
  • 大额虚开发票做转出税款入什么会计科目?
  • 公司注销后会计凭证保管年限
  • 企业所得税季度申报时间
  • 企业自用房要交契税吗
  • 抄税和上报汇总一样吗
  • 增值税发票开户行填简称是被允许的吗?
  • 进项发票可以不入账吗
  • 2018购房契税税率
  • 代开专票需要去报税吗?
  • 2017小规模纳税人标准
  • 企业所得税预缴税款表怎么填
  • 总公司与分公司的税务关系怎么交税
  • 企业所得税申报表
  • 其他专项收入怎么做账
  • 客户年会赞助是公司账户转嘛
  • 维修是几个点的税率
  • 辞退补偿金怎么算n1吗
  • 猫光纤信号灯闪红
  • 自己怎么做电脑系统
  • php timestamp
  • 君子兰的养殖方法
  • 固定资产前期费用计入
  • 理财的利息收入计入什么科目
  • 贷款和应收款项应采用实际利率法,按摊余成本计量
  • 配置eAccelerator和XCache扩展来加速PHP程序的执行
  • 非货币性资产交换
  • php遍历结果集
  • php新手入门教程
  • 现代服务印花税税率
  • 工业总产值和营业收入关系
  • 公司购买购物卡送客户的会计分录
  • 退税还没到
  • 物流破损拒收的理由
  • 工会收到单位拨款的会计分录
  • 工程项目开票金额和合同金额统计表
  • 成本核算需要哪些数据
  • 增值税进项加计抵减怎么计算
  • 关于SQL Server安全控制的说法正确的是
  • 行政单位应缴预算款原则上按月缴清
  • 银行汇票的分类和适用范围
  • 业务招待费的扣除标准60%什么意思
  • 陪标收费标准
  • 会计制度和会计准则科目转换
  • 递延所得税资产和递延所得税负债
  • 持有待售的非流动资产减值能转回吗
  • 非营利医疗机构是什么单位
  • sqlserver数据库和mysql区别
  • Mysql主从同步的实现原理
  • windows 9
  • centos7installation怎么配
  • ubuntu安装后怎么启动
  • 苹果怎么格式化彻底
  • psoft1.exe - psoft1是什么进程 有什么作用
  • linux系统怎么配置路由
  • 文件系统的类型为raw
  • 20150405农历
  • js里的this指向
  • ubuntu搭建android开发环境
  • JavaScript中的方法名不区分大小写
  • 公认的经典
  • js中不同的height, top的区别对比
  • nodejsorg
  • vbs运行cmd命令
  • unity网络模块
  • javascript用处
  • java模拟浏览器点击
  • jquery全选和全不选效果
  • python运行时间的几种方法
  • 自用的房产怎么交房产土地税
  • 福建电子税务局社保缴费操作
  • 成都租房备案凭证怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设