背景:

在请求后台的“漫长”等待过程中,为了提升用户体验,需要一个类似  的加载动画效果,让用户明确现在处于请求过程中,而不是机子down掉或者网站死了

静态demo(未与后台交互):

HTML代码如下

<!doctype html>
<html>
<head>
<title>Test Spin Demo</title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="http://spin.js.org/spin.min.js" ></script>
<style>
#Div{
width: 100%;
height: 100%;
text-align:center;
} #firstDiv{
width: 100%;
height: 50%;
} #secondDiv{
width: 50%;
height: 50%;
margin:0 auto;
}
</style>
<script type="text/javascript">
//opts 样式可从网站在线制作
var opts = {
lines: 13, // 花瓣数目
length: 20, // 花瓣长度
width: 10, // 花瓣宽度
radius: 30, // 花瓣距中心半径
corners: 1, // 花瓣圆滑度 (0-1)
rotate: 0, // 花瓣旋转角度
direction: 1, // 花瓣旋转方向 1: 顺时针, -1: 逆时针
color: '#000', // 花瓣颜色
speed: 1, // 花瓣旋转速度
trail: 60, // 花瓣旋转时的拖影(百分比)
shadow: false, // 花瓣是否显示阴影
hwaccel: false, //spinner 是否启用硬件加速及高速旋转
className: 'spinner', // spinner css 样式名称
zIndex: 2e9, // spinner的z轴 (默认是2000000000)
top: '25%', // spinner 相对父容器Top定位 单位 px
left: '50%'// spinner 相对父容器Left定位 单位 px
}; var spinner = new Spinner(opts); $(document).ready(function () {
$("#btnRequest").bind("click", function () {
Request();
});
$("#btnRequest2").bind("click", function () {
Request2();
});
}) function Request(){
//请求时spinner出现
var target = $("#firstDiv").get(0);
spinner.spin(target);
} function Request2(){
//关闭spinner
spinner.spin();
}
</script>
</head>
<body>
<div id="Div">
<div id="firstDiv">
</div>
<div id="secondDiv">
<input id="btnRequest" type="button" value="显示加载" class="btnStyle" />
<input id="btnRequest2" type="button" value="隐藏加载" class="btnStyle" />
</div>
</div>
</body>
</html>

提示:

一、其中opts样式可在http://spin.js.org/在线制作与测试

var opts = {
lines: 13, // 花瓣数目
length: 20, // 花瓣长度
width: 10, // 花瓣宽度
radius: 30, // 花瓣距中心半径
corners: 1, // 花瓣圆滑度 (0-1)
rotate: 0, // 花瓣旋转角度
direction: 1, // 花瓣旋转方向 1: 顺时针, -1: 逆时针
color: '#000', // 花瓣颜色
speed: 1, // 花瓣旋转速度
trail: 60, // 花瓣旋转时的拖影(百分比)
shadow: false, // 花瓣是否显示阴影
hwaccel: false, //spinner 是否启用硬件加速及高速旋转
className: 'spinner', // spinner css 样式名称
zIndex: 2e9, // spinner的z轴 (默认是2000000000)
top: '25%', // spinner 相对父容器Top定位 单位 px
left: '50%'// spinner 相对父容器Left定位 单位 px
};

二、spin.js+自制遮罩(暂时还没有找到插件本身自带的遮罩层)

背景:想要在显示加载状态时,父层为不可编辑状态

在页面最后、</body>之前添加div遮罩层

<div id="mb"></div>

设置遮罩层的样式

#mb{
display: none;
height: 100%;
width: 100%;
position: fixed;
*position: absolute;
*height: 1380px;
background: black;
top:;
left:;
opacity:0.6;
}

最后通过js控制遮罩的显示与隐藏

//显示
$("#mb").css("display","block");
var target = $(".firstDiv").get(0);
spinner.spin(target); //隐藏
$("#mb").css("display","none");
spinner.spin();

效果如下,此时父层为不可编辑状态:

加载动画插件spin.js的使用随笔的更多相关文章

  1. 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)

    移动端下拉刷新.加载更多插件dropload.js(基于jQuery/Zepto) 原文:http://www.grycheng.com/?p=1869 废话不多说,先让大家看一下案例效果: DEMO ...

  2. JQuery缓冲加载图片插件lazyload.js的使用方法

    lazyload.js是一个基于JQuery的插件,可以用来缓冲加载图片.如果一个网页很长并且有很多图片的话,下载图片就需要很多时间,那么就会影响整个网页的加载速度,而这款延迟加载插件,会通过你的滚动 ...

  3. 移动端下拉刷新、加载更多插件dropload.js(基于jQuery/Zepto)[转]

    使用方法 引用css和js <link rel="stylesheet" href="../dist/dropload.min.css"> < ...

  4. js spin 加载动画(loading)

    js spin 加载动画 最近做页面ajax加载是又用到loading动画,还好有一个spin.js 具体的包大家可以去http://fgnass.github.com/spin.js/下载, 如果想 ...

  5. 分享JQuery动画插件Velocity.js的六种列表加载特效

    分享JQuery动画插件Velocity.js的六种列表加载特效.在这款实例中给中六种不同的列表加载效果.分别为从上飞入.从右侧飞入.从左侧飞入.和渐显.一起看下效果图: 在线预览   源码下载 实现 ...

  6. 30款基于 jQuery & CSS3 的加载动画和进度条插件

    我们所生活每一天看到的新技术或新设计潮流的兴起,Web 开发正处在上升的时代.HTML5 & CSS3 技术的发展让 Web 端可以实现的功能越来越强大. 加载动画和进度条使网站更具吸引力.该 ...

  7. 原生JS实战:分享一个首页进度加载动画!

    本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5871134.html 该程序是本人的个人作品,写的不好,可以参考,但未经 ...

  8. 使用 JS 嵌入的方式来加载 Flash 插件,在各浏览器中播放视频

    嵌入插件 使用 object 和 embed 标签 这种方法用到的是 Object 和 Embed 标签,可以看到 object 的很多参数和 embed 里面的很多属性是重复的.浏览器兼容性,有的浏 ...

  9. 原生JS+ CSS3创建loading加载动画;

    效果图: js创建loading show = function(){ //loading dom元素 var Div = document.createElement("div" ...

随机推荐

  1. 要把target下面虚拟路径的项目文件…

     源码进不去,要检查target下面的项目文件,要删除掉. 版权声明:本文为博主原创文章,未经博主允许不得转载.

  2. appium+Java+testng自动化框架搭建-第一季

    app自动化越来越火,随着移动app的不断发展,手机端测试日益火爆,想成为一个高级软件测试工程师必须要掌握,那么我们今天就来搭建appium+Java+testng自动化测试框架. Appium环境搭 ...

  3. Automake使用说明

    说明 从零开始编写automake工程非常复杂也没有必要,我们只要能看懂开源项目的automake即可,然后根据自己实际情况进行修改即可,下面给出两个比较好的参考项目,其中spice-gtk涵盖了使用 ...

  4. 伪类选择器 :nth-child(even) :nth-child(odd) :nth-of-type

    属性 描述 CSS :active 向被激活的元素添加样式. 1 :focus 向拥有键盘输入焦点的元素添加样式. 2 :hover 当鼠标悬浮在元素上方时,向元素添加样式. 1 :link 向未被访 ...

  5. SAS批量导出sas7bdata至excel

    /*创建输出excel的宏*/ %macro export(inlib,intbl,outpath,outfile); proc export data=&inlib..&intbl ...

  6. linux命令之上传文件和下载文件

    lrzsz-0.12.20.tar.gz是一款linux下命令行界面上支持上传和下载的第三方工具,能够起到很方便的作用. # rz 选择文件进行上传 # sz 文件名 sz后面跟文件名可以进行文件从l ...

  7. 同余方程 (codevs1200)

    题目描述××× 求关于 x 的同余方程 ax ≡ 1 (mod b)的最小正整数解. 输入输出格式××× 输入格式: 输入只有一行,包含两个正整数 a, b,用一个空格隔开. 输出格式: 输出只有一行 ...

  8. python 之 函数 内置函数

    5.15 内置函数 方法 含义 备注 abs(-1) 求绝对值 1 all ([1,'a',True]) 列表中所有元素的布尔值为真,最终结果才为真 True all ('') 传给all的可迭代对象 ...

  9. Nacos深入浅出(六)

    其实我们发现在我们本地新生成了文件,这个文件就是nacos; 这个文件怎么那么眼熟,不就是我们的controller中的注解里面的参数value么: @Controller @NacosPropert ...

  10. ldap 报错整理

    1.httpd 无法启动 先用systemctl status httpd 查看一下日志 1.提示端口号是否冲突,修改httpd.conf端口号 2.提示没有权限:检查selinux,防火墙是否关闭或 ...