页面异步过程中的遮罩

原本是要继续发自定义控件形式的分页,但是我看了好一会觉得大概思路是利用委托实现事件调用重新绑定数据,我个人不太推荐这种,所以在此也就发了。

    采用AJAX异步方式请求在现在页面中非常普遍,原本延迟加载是异步加载的优势。但在不同情况下,如果用户已经发起一个异步请求,再去触发其他的请求可能会导致一些页面错误,假如能在第一次异步后加个页面遮罩就能很好的处理这个情况了。

    介绍的第一个遮罩是利用easyui的messager.progress,效果如下:

   <link href="jquery-easyui-1.3.5/themes/default/easyui.css" rel="stylesheet" />    <script src="jquery-easyui-1.3.5/jquery.easyui.min.js"></script>   function func2() {
                 $.messager.progress({
                     title: ‘请稍后‘,
                     msg: ‘‘,
                     text: ‘正在请求后台‘
                 });
                 setTimeout(function () {
                     $.messager.progress(‘close‘);//关闭遮罩
                         alert(123);
                 }, 4000);
         }

     第二种是利用jquery的mask()方法,给某个元素添加遮罩,效果如下:

     <script src="jquery-min-1.9.1.js"></script>     <link href="jquery.loadmask.css" rel="stylesheet" />     function Func () {
                 $("body").mask("正在请求后台。。。");
                 setTimeout(function () {
                     $("body").unmask();//取消遮罩
                     if (result == "ok") {
                         alert(123);
                     }
                 },4000);
         }

    其中mask()这个方法需要注意我引用的是1.9.1的版本,  如果引用1.7.2是不会显示遮罩的(具体是那个版本开始支持的我不太清楚,需要查下)

    最后再介绍一个插件我用的比较多的blockUI,还是先看效果:

       <script src="jquery-1.7.2.min.js"></script>    <script src="jquery.blockUI.js"></script>     function func3() {
            $.blockUI({
                message: "<div style=‘float:left;margin-left:35%‘><img src=‘bg.gif‘  width=‘30px‘;height=‘30px‘ />                </div><div style=‘line-height:30px;float:left;margin-left:10%‘>请稍候</div>",
                css: {
                    border: ‘none‘,
                    padding: ‘15px‘,
                    backgroundColor: ‘Grey‘,
                    width:"300px",
                    opacity: .5,
                    color: ‘Red‘
                }
            });
            setTimeout($.unblockUI, 2000);
        }

     其他还有很多,我列的是我以前整理的,仅供参考。

时间: 2024-08-30 10:06:08

页面异步过程中的遮罩的相关文章

JS函数库:页面滚动过程中元素产生动画效果 WOW.js

官网 WOW.js依赖animate.css, 所以它支持animate.css多达60多种动画效果. 浏览器兼容:IE9以及以前的版本不适用 使用方法: 1.引入文件 <link rel="stylesheet" href="css/animate.min.css" /> <script type="text/javascript" src="js/wow.min.js"></script>

JS请求服务器,并返回信息,请求过程中不需要跳转页面

js请求服务器,并返回信息,请求过程中不需要跳转页面 这个可以通过jQuery框架轻松实现,jQuery中包含多种ajax的请求方式,详细可以参考下对应 的API. 你上面定义的按钮类型是submit,如果是在form当中,将会自动提交当前form表单,建议,如果可能的话将其修改为button类型. 下面给出通过jQuery的$.post方式,异步获取服务器的JSON数据. 功能代码: <script type="text/javascript"> $(function()

Ajax请求过程中显示“进度”的简单实现

Ajax在Web应用中使用得越来越频繁.在进行Ajax调用过程中一般都具有这样的做法:显示一个GIF图片动画表明后台正在工作,同时阻止用户操作本页面(比如Ajax请求通过某个按钮触发,用户不能频繁点击该按钮产生多个并发Ajax请求):调用完成后,图片消失,当前页面运行重新编辑.以下图为例,页面中通过一个Load链接以Ajax请求的方式加载数据(左).当用户点击该链接之后,Ajax请求开始,GIF图片显示“Loading“状态,同时当前页面被“罩住”防止用户继续点击Load按钮(中):Ajax请求

浏览器渲染页面的过程,以及重绘与重排

浏览器的渲染过程 1,浏览器解析html源码,然后创建一个 DOM树.在DOM树中,每一个HTML标签都有一个对应的节点,并且每一个文本也都会有一个对应的文本节点.DOM树的根节点就是 documentElement,对应的是html标签. 2,浏览器解析CSS代码,计算出最终的样式数据.对CSS代码中非法的语法她会直接忽略掉.解析CSS的时候会按照如下顺序来定义优先级:浏览器默认设置,用户设置,外链样式,内联样式,html中的style. 3,构建出DOM树,并且计算出样式数据后,下一步就是构

Html5 本地文件读取 API 研究使用过程中的意外发现 - MDN

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 补充: 终于可以读出肉的眼能看懂的人类文字了!!! 经在 safari 7.0.4(9537.76.4) 测试,即使关闭 WebGL 支持,Fil

Android中Activity执行restart过程中涉及到的四种数据存储恢复的方法

我们知道,当Configuration Change发生的时候(比如横竖屏切换等),会导致Activity重启,即先destroy,然后会restart,一般情况下restart的时间比较短,为了保证一致的用户体验,我们应该在Activity重启前将一些数据存储下来,然后在restart的时候重新根据这些数据更新UI.当然你可能想将这些数据写到物理文件或数据库中,但是这样有缺点,因为IO操作时耗时操作,会影响restart的过程,甚至导致ANR程序无响应,本文将介绍几种将数据缓存在内存中以便re

网站建设过程中性能优化的34条经验方法

1 .减少HTTP请求数量 (Minimize HTTP Requests) tag:content 80%的用户响应时间被花费在前端,而这其中的绝大多数时间是用于下载页面中的图片.样式表.脚本以及Flash这些组件.减少这些组件的数量就可以减少展示页面所需的请求数,而这是提高网页响应速度的关键. 朴素的页面设计当然是减少组件的一种途径,但有没有能兼顾丰富的页面内容和快速的响应速度的方法呢?下面就是一些不错的技巧,能在提供丰富的页面展现的同时,减少Http请求数量: 合并文件,通过把所有脚本置于

手机端页面在项目中遇到的一些问题及解决办法

1.解决页面使用overflow: scroll在iOS上滑动卡顿的问题? 首先你可能会给页面的html和body增加了height: 100%, 然后就可能造成IOS上页面滑动的卡顿问题.解决方案是: (1) 看是否能把body和html的height: 100%去除掉. (2) 在滚动的容器中增加:-webkit-overflow-scrolling: touch或者给body增加:body {overflow-x: hidden}. 2.ios页面橡皮弹回效果遮挡页面选项卡? (1) 有时

浏览器输入网址到浏览器渲染页面的过程

1) 在客户端浏览器中输入网址URL. 2) 发送到DNS(域名服务器)获得域名对应的WEB服务器的IP地址. 3) 客户端浏览器与WEB服务器建立TCP(传输控制协议)连接. 4) 客户端浏览器向对应IP地址的WEB服务器发送相应的HTTP或HTTPS请求. 5) WEB服务器响应请求,返回指定的URL数据或错误信息:如果设定重定向,则重定向到新的URL地址. 6) 客户端浏览器下载数据,解析HTML源文件,解析的过程中实现对页面的排版,解析完成后,在浏览器中显示基础的页面. 7) 分析页面中