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

简介: 版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/52083995 NProgress是一款在网页顶部添加细长进度条的工具,非常轻巧,使用起来也非常便捷,灵感来源于Google, YouTube。
版权声明:欢迎转载,请注明沉默王二原创。 https://blog.csdn.net/qing_gee/article/details/52083995

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

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

相关文章
|
5月前
解决layer弹框加载时闪白屏功能
解决layer弹框加载时闪白屏功能
40 1
|
8月前
|
前端开发
react图形图片验证码重新请求图片不刷新
react图形图片验证码重新请求图片不刷新
|
9月前
|
前端开发 JavaScript
echarts tooltip设置正常却无法显示被遮挡设置层级堆叠顺序的问题解决方案
echarts tooltip设置正常却无法显示被遮挡设置层级堆叠顺序的问题解决方案
250 0
|
9月前
|
JavaScript 定位技术
WebGis——Pixi开发vue项目之使用遮罩实现图形缓慢填充颜色(三)
WebGis——Pixi开发vue项目之使用遮罩实现图形缓慢填充颜色(三)
|
11月前
|
前端开发 JavaScript 异构计算
页面渲染合成(补充)
在上一篇文章老生常谈之从输入URL到页面呈现的过程中描述了页面渲染流程,其中涉及页面的布局(Layout)和绘制(Painting),实际在绘制之后还有一个步骤叫做合成(Compositing)。
|
Web App开发 移动开发 前端开发
Web全屏模式轻松掌握[局部元素全屏展示]
全屏功能封装在一个类里面: 我把全屏模式封装在一个类里面,在代码中有详细的注释,如果有需要的话,直接把类拿出来,根据栗子和注释使用即可。 代码在codepen的demo里。 何谓全屏? MDN介绍: 使用提供的API,让一个元素与其子元素,可以占据整个屏幕,并在此期间,从屏幕上隐藏所有的浏览器用户界面以及其他应用。 chrome下的全屏表现: 全屏会隐藏标签栏,书签栏 如果网页一开始不是全部撑开的形式,全屏下,也会将要全屏的元素充满整个屏幕 可以多层全屏,如栗子中一样,可以先左边全屏,然后红色全屏。
528 0
Web全屏模式轻松掌握[局部元素全屏展示]
|
iOS开发
模态(modal)画面的显示方法
模态(modal)画面的显示方法
347 0
|
前端开发 JavaScript API
交互设计:隐藏或显示大段文本的UI组件有哪些?
应用场景: 在手机上要给列表中的每一项添加一个大段的介绍,应该用什么UI组件 A: 这里可以用,模态对话框,弹出提示,工具提示这类组件。模态对话框的好处,就是用关闭的按钮,用户操作方便;而弹出提示和工具提示只能通过点击来切换   模态对话框: http://v2.bootcss.com/javascript.html#modals http://www.runoob.com/bootstrap/bootstrap-modal-plugin.html Bootstrap 模态框(Modal)插件 模态框(Modal)是覆盖在父窗体上的子窗体。
1461 0
为NProgress增加模态层,更完美的应用于复杂网页的细长进度条
为NProgress增加模态层,更完美的应用于复杂网页的细长进度条
102 0

热门文章

最新文章