为NProgress增加模态层,更完美的应用于复杂网页的细长进度条

NProgress是一款在网页顶部添加细长进度条的工具,非常轻巧,使用起来也非常便捷,灵感来源于Google, YouTube。我是在用github时发现这一特性的,就想应用到我的网站上,经过层层筛选找到了NProgress,感觉非常棒,另外我又为NProgress添加了模态层,因为我不希望一个请求响应未结束前,当前页面再去请求服务。

一、组件下载

官网http://ricostacruz.com/nprogress/

也可以看到演示效果,我就不再贴我网站的效果图了,就是多了一层模态。

二、应用

1、导入组件
<link type="text/css" rel="stylesheet" href="${ctx}/components/nprogress/nprogress.css" />
<script type="text/javascript" src="${ctx}/components/nprogress/nprogress.js"></script>
2、使用组件
// 配置
NProgress.configure({
    // 不显示转动的小圆圈
    showSpinner : false
});

// 将模态层添加到body中
var ajaxbg = $('<div id="background" class="background"></div>').appendTo("body");
ajaxbg.hide();

// 页面绑定ajaxStart、ajaxStop方法
$(document).ajaxStart(function() {
    // 启动
    NProgress.start();

    // 如果存在模态框ajax,则将背景层添加到当前模态框上
    if ($("#pop_ajax_dialog").length > 0) {
        $("#pop_ajax_dialog").append(ajaxbg);
    } else {
        $("body").append(ajaxbg);
    }
    // 模态层
    ajaxbg.show();
}).ajaxStop(function() {
    // 结束、隐藏模态层
    NProgress.done();
    ajaxbg.hide();
});
  1. 我的项目中有模态框,所以弹出模态框的上面应用模态层的话,就将模态层置于弹出模态框的上面,而不再是body上。
  2. ajaxStart、ajaxStop 两个方法就可以实现请求的进度条的开始和结束。

模态层的样式

.background { display:block; width:100%; height:100%; opacity:0.4; filter:alpha(opacity=40); background:#FFF; position:absolute; top:0; left:0; z-index:2000;}

使用起来非常简单,最关键的在于找到合理的方案,而这篇博文就可以为你提供解决方案。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉默王二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值