2018-06-07

Jquery遮罩插件,想罩哪就罩哪!一 前言 在项目开发时发现没有一个用起来 爽一点的遮罩插件,看起来觉得不难 好吧那就利用空闲时间,自己折腾一个吧,也好把jquery再温习一下,需要的功能如下  1 可以全屏遮 用于提交数据时  2 局部遮,用于重复提交,只遮提交按钮,此功能当时在CSDN的登录中看到过,当时觉得还不错 3 遮罩上的提示文字可自己配置,因为操作的业务场景不一样,提示的信息肯定也会不一样 4 遮罩图片可配置, 5 信息提示层大小可配置大致功能就如上几点,然后就是折腾js了,蹭蹭蹭~~~~ 然后就出来了~ 先上效果 全局遮罩效果 局部遮罩 二 源码相关需要了解的知识点大致如下 1 z-index属性 2 position属性 3 浏览器窗口与document 高宽的计算 4 jquery 插件格式 5 css 滤镜效果 不多说了上代码!为了减少引入的文件索性将css直接写在js中了复制代码/***************************Desc:提交操作时遮罩*Argument:type=0 全屏遮 1局部遮*Author:Zery-Zhang*Date:2014-09-18*Version:1.0.0**************************/; (function ($) { $.fn.jqLoading =function(option) { var defaultVal = { backgroudColor: "#ECECEC",//背景色 backgroundImage: "../image/loading.gif",//背景图片 text: "玩命加载中....",//文字 width: 150,//宽度 height: 60,//高度 type:0 //0全部遮,1 局部遮 }; var opt = $.extend({}, defaultVal, option); if (opt.type == 0) { //全屏遮 openLayer(); } else { //局部遮(当前对象应为需要被遮挡的对象) openPartialLayer(this); } //销毁对象 if (option === "destroy") { closeLayer(); } //设置背景层高 function height () { var scrollHeight, offsetHeight; // handle IE 6 if ($.browser.msie && $.browser.version < 7) { scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); offsetHeight = Math.max(document.documentElement.offsetHeight, document.body.offsetHeight); if (scrollHeight < offsetHeight) { return $(window).height(); } else { return scrollHeight; } // handle "good" browsers } else if ($.browser.msie && $.browser.version == 8) { return $(document).height() - 4; } else { return $(document).height(); } }; //设置背景层宽 function width() { var scrollWidth, offsetWidth; // handle IE if ($.browser.msie) { scrollWidth = Math.max(document.documentElement.scrollWidth, document.body.scrollWidth); offsetWidth = Math.max(document.documentElement.offsetWidth, document.body.offsetWidth); if (scrollWidth < offsetWidth) { return $(window).width(); } else { return scrollWidth; } // handle "good" browsers } else { return $(document).width(); } }; /*==========全部遮罩=========*/ function openLayer() { //背景遮罩层 var layer = $("

");            layer.css({                zIndex:9998,                position: "absolute",                height: height() + "px",                width: width() + "px",                background: "black",                top: 0,                left: 0,                filter: "alpha(opacity=30)",                opacity: 0.3                          });                      //图片及文字层            var content = $("

");            content.css({                textAlign: "left",                position:"absolute",                zIndex: 9999,                height: opt.height + "px",                width: opt.width + "px",                top: "50%",                left: "50%",                verticalAlign: "middle",                background: opt.backgroudColor,                borderRadius:"8px",                fontSize:"13px"            });                        content.append("

" + opt.text + "");            $("body").append(layer).append(content);            var top = content.css("top").replace('px','');            var left = content.css("left").replace('px','');            content.css("top",(parseFloat(top)-opt.height/2)).css("left",(parseFloat(left)-opt.width/2));                      return this;        }        //销毁对象        function closeLayer() {            $("#layer,#content,#partialLayer").remove();            return this;        }                /*==========局部遮罩=========*/        function openPartialLayer(obj) {                    var eheight = $(obj).css("height");//元素带px的高宽度            var ewidth = $(obj).css("width");            var top = $(obj).offset().top; // 元素在文档中位置 滚动条不影响            var left = $(obj).offset().left;            var layer = $("

");            layer.css({                style: 'z-index:9998',                position: "absolute",                height: eheight,                width: ewidth,                background: "black",                top: top,                left: left,                filter: "alpha(opacity=60)",                opacity: 0.6,                borderRadius:"3px",                dispaly: "block"            });            $("body").append(layer);            return this;        }    };    })(jQuery)复制代码 插件用法如下复制代码        $(function () {

            $("#btnOpen").on("click", function () {

                //全局

                //$(this).jqLoading();

                //局部

                $(this).jqLoading({ type: 1 });


            });

            $("#btnClose").on("click", function () {

                $(this).jqLoading("destroy");


            });

        })


    复制代码  三  总结  以上代码只为自己练习所用,如果碰巧能被人所用,那纯属巧合~我个人很享受,由构思到成品 这一过程,并一直努力将自己的一些想法,用代码慢慢实现。

转自:https://www.cnblogs.com/zery/p/4044674.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • "use strict";function _classCallCheck(e,t){if(!(e instanc...
    久些阅读 2,026评论 0 2
  • CSS 定位机制 CSS 有三种基本的定位机制:普通流、浮动和绝对定位。 一、普通流除非专门指定,否则所有框都在普...
    老头子_d0ec阅读 142评论 0 0
  • 去年的今天,我是怎样的呢? 现在想想,很多东西都忘了。 忘了。 就好像有一个伟大的魔术师,他把魔术布罩在我的脑袋上...
    秦无衣V阅读 119评论 0 0
  • 在P2P投资已有5年,怀念当初高额返利已经改变,再看暴雷如雨行业的今天,令人汗颜! P2P行业投资风格奇异百变,不...
    月半9527阅读 285评论 0 0
  • 我们总是会有一种幻想 走在路上 看到两个人在小声的议论 你以为他们是在议论自己 于是 你小心翼翼的整理好自己的衣服...
    饭菜Amy阅读 378评论 0 0