当前位置: 首页 > news >正文

jsp预加载转圈_页面预加载loading动画

在现在网速跟设备都跟得上的情况下、使用预加载图片感觉效果不大,我们需要做的只是增强用户体验,在加载完成之前加个动画,简单粗暴。网上扒的一篇文章

查看原文:http://www.ibloger.net/article/401.html

效果页面:http://crusader12.com/C12HoverAlls/

首先定义一个loader.css文件,如下内容

.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;

/* COLOR 1 */

border-top-color: #FFF;

-webkit-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-ms-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-moz-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-o-animation: spin 2s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

animation: spin 2s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */

z-index:1001;}

#loader:before {

content: "";

position: absolute;

top: 5px;

left: 5px;

right: 5px;

bottom: 5px;

border-radius: 50%;

border: 3px solid transparent;

/* COLOR 2 */

border-top-color: #FFF;

-webkit-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-moz-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-o-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-ms-animation: spin 3s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

animation: spin 3s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */}

#loader:after {

content: "";

position: absolute;

top: 15px;

left: 15px;

right: 15px;

bottom: 15px;

border-radius: 50%;

border: 3px solid transparent;

border-top-color: #FFF;

/* COLOR 3 */

-moz-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-o-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-ms-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

-webkit-animation: spin 1.5s linear infinite; /* Chrome, Opera 15+, Safari 5+ */

animation: spin 1.5s linear infinite; /* Chrome, Firefox 16+, IE 10+, Opera */}

@-webkit-keyframes spin {

0%{

-webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: rotate(0deg);  /* IE 9 */

transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */

}100%{

-webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: rotate(360deg);  /* IE 9 */

transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */}

}

@keyframes spin {

0%{

-webkit-transform: rotate(0deg);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: rotate(0deg);  /* IE 9 */

transform: rotate(0deg);  /* Firefox 16+, IE 10+, Opera */

}100%{

-webkit-transform: rotate(360deg);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: rotate(360deg);  /* IE 9 */

transform: rotate(360deg);  /* Firefox 16+, IE 10+, Opera */}

}

#loader-wrapper .loader-section {

position: fixed;

top: 0;

width: 51%;

height: 100%;

background: #1abc9c; /* Old browsers */

z-index: 1000;

-webkit-transform: translateX(0);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: translateX(0);  /* IE 9 */

transform: translateX(0);  /* Firefox 16+, IE 10+, Opera */}

#loader-wrapper .loader-section.section-left {left: 0;}

#loader-wrapper .loader-section.section-right {right: 0;}

/* Loaded */

.loaded #loader-wrapper .loader-section.section-left {

-webkit-transform: translateX(-100%);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: translateX(-100%);  /* IE 9 */

transform: translateX(-100%);  /* Firefox 16+, IE 10+, Opera */

-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%);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: translateX(100%);  /* IE 9 */

transform: translateX(100%);  /* Firefox 16+, IE 10+, Opera */

-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%);  /* Chrome, Opera 15+, Safari 3.1+ */

-ms-transform: translateY(-100%);  /* IE 9 */

transform: translateY(-100%);  /* Firefox 16+, IE 10+, Opera */

-webkit-transition: all 0.3s 1s ease-out;

transition: all 0.3s 1s ease-out;}

/* JavaScript Turned Off */

.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;}

第二步:在网站页面header标签和body标签加入以下代码

// 引入jquery

// 等待所有加载

$(window).load(function(){

$('body').addClass('loaded');

$('#loader-wrapper .load_title').remove();

});

正在加载LoveFeel站点

V1.0

完工!

查看原文:http://www.ibloger.net/article/401.html

相关文章:

  • myeclipse mysql 驱动_Myeclipse 中添加mysql的jdbc驱动
  • mysql install db的作用_mysql通过mysql_install_db初始化数据目录时使用--user选项的作用是什么?...
  • mysql 5.6 my.cnf配置_my.cnf 5.6/5.7/8.0通用配置
  • oracle非常量不能用于privot_oracle pivot 和 unpivot 函数的使用
  • python代码60行_60行Python代码,实现多线程PDF转Word
  • python加载文件夹模块bus error_python通过import导入带“-”文件名称的模块
  • python 调试工具 知乎_超强一代JupyterLab 3.0发布,兼具可视化调试、中文显示、简单交互界面等功能...
  • python的迭代器是什么_python什么是迭代器
  • vs mysql 开发_vs mysql api
  • vue状态管理存取数据_Vue 状态管理 · Vue.js教程
  • centos mysql salve_Centos7 Mysql主从双机热备的实战记录
  • mysql社区版审计插件_技术分享 | MySQL 使用 MariaDB 审计插件
  • python isinstance 函数_python isinstance函数
  • python数据框拼接_在Python中如何合并两个数据框
  • 怎么在python找到pil库_如何使用PIL库查找子图像?
  • Android交互
  • Android框架之Volley
  • Git的一些常用操作
  • javascript 总结(常用工具类的封装)
  • nginx 配置多 域名 + 多 https
  • node和express搭建代理服务器(源码)
  • SAP云平台里Global Account和Sub Account的关系
  • storm drpc实例
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 编写符合Python风格的对象
  • 当SetTimeout遇到了字符串
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 汉诺塔算法
  • 一些关于Rust在2019年的思考
  • ​2020 年大前端技术趋势解读
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (八)c52学习之旅-中断实验
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (黑客游戏)HackTheGame1.21 过关攻略
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net 获取url的方法
  • .net打印*三角形
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • [ACTF2020 新生赛]Include
  • [Android 13]Input系列--获取触摸窗口
  • [APUE]进程关系(下)
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)
  • [BZOJ1178][Apio2009]CONVENTION会议中心
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [C++]命名空间等——喵喵要吃C嘎嘎
  • [CakePHP] 在Controller中使用Helper
  • [CareerCup] 13.1 Print Last K Lines 打印最后K行
  • [Editor]Unity Editor类常用方法
  • [GN] Vue3.2 快速上手 ---- 核心语法2
  • [Linux]——彻底学通权限
  • [NOIP2000] 乘积最大
  • [OpenCV学习笔记]获取鼠标处图像的坐标和像素值
  • [Ruby] 基础知识