http://www.oschina.net/code/snippet_98719_7689
http://hi.baidu.com/bluelotus7/item/b8f467f4e3a982dd6225d269
(function () {
$.extend($.fn, {
mask:function (msg, maskDivClass) {
this.unmask();
var op = {
opacity:0.8,
z:10000,
bgcolor:'#ccc'
};
var original = $(document.body);
var position = { top:0, left:0 };
if (this[0] && this[0] !== window.document) {
original = this;
position = original.position();
}
var maskDiv = $('<div class="maskdivgen"> </div>');
maskDiv.appendTo(original);
var maskWidth = original.outerWidth();
if (!maskWidth) {
maskWidth = original.width();
}
var maskHeight = original.outerHeight();
if (!maskHeight) {
maskHeight = original.height();
}
maskDiv.css({
position:'absolute',
top:position.top,
left:position.left,
'z-index':op.z,
width:maskWidth,
height:maskHeight,
'background-color':op.bgcolor,
opacity:0
});
if (maskDivClass) {
maskDiv.addClass(maskDivClass);
}
if (msg) {
var msgDiv = $('<div style="position:absolute;border:#6593cf 1px solid; padding:2px;background:#ccca"><div style="line-height:24px;border:#a3bad9 1px solid;background:white;padding:2px 10px 2px 10px">' + msg + '</div></div>');
msgDiv.appendTo(maskDiv);
var widthspace = (maskDiv.width() - msgDiv.width());
var heightspace = (maskDiv.height() - msgDiv.height());
msgDiv.css({
cursor:'wait',
top:(heightspace / 2 - 2),
left:(widthspace / 2 - 2)
});
}
maskDiv.fadeIn('fast', function () {
$(this).fadeTo('slow', op.opacity);
})
return maskDiv;
},
unmask:function () {
var original = $(document.body);
if (this[0] && this[0] !== window.document) {
original = $(this[0]);
}
original.find("> div.maskdivgen").fadeOut('slow', 0, function () {
$(this).remove();
});
}
});
})();
<body style="width: 100%">
测试
<div id="test" style="width: 200px; height: 100px; border: black 1px solid;">
</div>
<a href="#" onclick="$('#test').mask('DIV层遮罩')">div层遮罩</a>
<a href="#" onclick="$('#test').unmask()">关闭遮罩</a>
<a href="#" onclick="$(document).mask('全部遮罩').click(function(){$(document).unmask()})">全部遮罩</a>
</body>
-------------------------------------
/*
* Document : mask 1.1
* Created on : 2011-12-11, 14:37:38
* Author : GodSon
* Email : wmails@126.com
* Link : www.btboys.com
*
*/
(function($){
function init(target,options){
var wrap = $(target);
if($("div.mask",wrap).length) wrap.mask("hide");
wrap.attr("position",wrap.css("position"));
wrap.attr("overflow",wrap.css("overflow"));
wrap.css("position", "relative");
wrap.css("overflow", "hidden");
var maskCss = {
position:"absolute",
left:0,
top:0,
cursor: "wait",
background:"#ccc",
opacity:options.opacity,
filter:"alpha(opacity="+options.opacity*100+")",
display:"none"
};
var maskMsgCss = {
position:"absolute",
width:"auto",
padding:"10px 20px",
border:"2px solid #ccc",
color:"white",
cursor: "wait",
display:"none",
borderRadius:5,
background:"black",
opacity:0.6,
filter:"alpha(opacity=60)"
};
var width,height,left,top;
if(target == 'body'){
width = Math.max(document.documentElement.clientWidth, document.body.clientWidth);
height = Math.max(document.documentElement.clientHeight, document.body.clientHeight);
}else{
width = wrap.outerWidth() || "100%";
height = wrap.outerHeight() || "100%";
}
$('<div class="mask"></div>').css($.extend({},maskCss,{
display : 'block',
width : width,
height : height,
zIndex:options.zIndex
})).appendTo(wrap);
var maskm= $('<div class="mask-msg"></div>').html(options.maskMsg).appendTo(wrap).css(maskMsgCss);
if(target == 'body'){
left = (Math.max(document.documentElement.clientWidth,document.body.clientWidth) - $('div.mask-msg', wrap).outerWidth())/ 2;
if(document.documentElement.clientHeight > document.body.clientHeight){
top = (Math.max(document.documentElement.clientHeight,document.body.clientHeight) - $('div.mask-msg', wrap).outerHeight())/ 2;
}else{
top = (Math.min(document.documentElement.clientHeight,document.body.clientHeight) - $('div.mask-msg', wrap).outerHeight())/ 2;
}
}else{
left = (wrap.width() - $('div.mask-msg', wrap).outerWidth())/ 2;
top = (wrap.height() - $('div.mask-msg', wrap).outerHeight())/ 2;
}
maskm.css({
display : 'block',
zIndex:options.zIndex+1,
left : left,
top : top
});
setTimeout(function(){
wrap.mask("hide");
}, options.timeout);
return wrap;
}
$.fn.mask = function(options){
if (typeof options == 'string'){
return $.fn.mask.methods[options](this);
}
options = $.extend({}, $.fn.mask.defaults,options);
return init(this,options);
};
$.mask = function(options){
if (typeof options == 'string'){
return $.fn.mask.methods[options]("body");
}
options = $.extend({}, $.fn.mask.defaults,options);
return init("body",options);
};
$.mask.hide = function(){
$("body").mask("hide");
};
$.fn.mask.methods = {
hide : function(jq) {
return jq.each(function() {
var wrap = $(this);
$("div.mask",wrap).fadeOut(function(){
$(this).remove();
});
$("div.mask-msg",wrap).fadeOut(function(){
$(this).remove();
wrap.css("position", wrap.attr("position"));
wrap.css("overflow", wrap.attr("overflow"));
});
});
}
};
$.fn.mask.defaults = {
maskMsg:'\u52a0\u8f7d……',
zIndex:100000,
timeout:30000,
opacity:0.6
};
})(jQuery);
分享到:
相关推荐
遮罩层实现 <!-- 页面主要内容 --> <div id="mask"></div> <span>Loading... <!-- 模态窗口内容 --> <script src="overlay.js"></script> ``` 接下来是CSS部分。`#mask`是遮罩层元素,...
遮罩层通常用于弹出窗口、提示信息或者加载动画,它能在不影响页面主要内容的情况下,向...无论你是初学者还是经验丰富的开发者,都值得深入研究卫班科技的这个遮罩层实现案例,从中汲取灵感并应用于自己的项目之中。
"Litebox"是一个轻量级的遮罩层实现,它是对原始的Lightbox的简化版本,适用于那些希望减少页面加载时间的项目。 Litebox主要利用JavaScript库moo.fx和prototype-lite来实现其功能。moo.fx是一个小型的、可扩展的...
下面将详细讲解如何在Winform中实现遮罩层效果。 首先,理解遮罩层的基本概念。遮罩层是覆盖在主窗口之上的一层半透明控件,它不参与程序的主要逻辑处理,而是起到视觉上的隔离作用。通常,我们可以通过创建一个新...
在Qt5中,实现一个半透明的灰色遮罩层,主要涉及到窗口管理、自定义控件和绘图技术。这个过程通常分为以下几个步骤: 1. **理解Qt窗口系统**: Qt提供了一种灵活的窗口管理系统,允许开发者创建各种复杂的用户界面...
本示例提供了HTML、JavaScript(JS)和CSS代码,以及可能包含的图片资源,来帮助你理解如何在网页中实现一个功能齐全的遮罩层。 首先,我们从HTML结构开始。一个简单的遮罩层通常包含一个主要的容器元素,如`div`,...
主要功能是在页面点击“用户登录”,就在当前页面弹出用户登窗口。 这里是用“遮罩层”来实现的。界面也是自己做的。 里面有相应的登录界面的素材。在页面的布局上,你查看本例,也可以学习到很多关于css的知识。
页面点击按钮后出现遮罩层,遮罩层上面有其他内容可显示,包含关闭遮罩层按钮。...所以选择弹出层,一层遮罩层,一层显示详情层,遮罩层的好处可以让用户在看详情的时候不能操作页面其他位置,防止页面出现错误。
在Cocos2d-x 3.x版本中,为了实现类似捕鱼达人中的金币表盘效果,我们需要利用遮罩层(Mask Layer)技术。遮罩层是一种图形处理技术,它允许我们只显示特定区域内的图像,而隐藏其他部分。在这个场景中,我们将通过...
2. **遮罩层实现**:遮罩层通常用于在页面上显示半透明的背景,以突出显示某个部分或阻止用户与页面其余部分交互。可以使用CSS和HTML创建一个简单的遮罩层,如下: ```html <div id="mask"></div> ``` ```css #...
在这个场景中,我们看到一个经过修改的遮罩层实现,它可以通过链接触发,并指定弹出的内容页面。 首先,`showdiv.htm`很可能是遮罩层显示的主体部分,它可能包含HTML结构,如一个全屏的div,具有透明度设置,以及...
总结来说,本示例提供的遮罩层实现主要展示了如何利用`div`元素和JavaScript进行动态页面交互设计。通过学习这些例子,开发者可以了解如何在自己的项目中实现类似的遮罩层效果,提高网页的用户体验。同时,这也是对...
3. `wx.createSelectorQuery()` 和 `wx.createIntersectionObserver()`: 用于查询或监听组件的布局信息,可以配合自定义遮罩层实现更复杂的交互逻辑。 4. 自定义组件:如果你需要更复杂的遮罩层效果,可以创建自定义...
Bootstrap实现遮罩层 参考文档: http://blog.csdn.net/u014175572/article/details/51800168 Bootstrap实现遮罩层 参考文档: http://blog.csdn.net/u014175572/article/details/51800168 Bootstrap实现遮罩层 ...
在开发Web应用时,我们常常需要一种方式来阻止用户与页面的某些部分进行交互,同时提供一些反馈信息,比如加载进度、信息提示等。遮罩层(Mask Layer)就是实现...以上内容共同构成了一个完整、实用的遮罩层实现方案。
"遮罩层效果(最新),简单易用"这个标题表明我们将探讨一种最新的、易于实施的遮罩层实现方法。这种效果能够覆盖在网页内容上,通常具有半透明背景,使得用户对主要信息或操作有更集中的注意力。 描述中提到"兼容...
本文实例讲述了WinForm特效之桌面上的遮罩层实现方法,分享给大家供大家参考之用。具体如下: 这个一个窗体特效,可以帮你了解几个windows api函数。 效果:windows桌面上增加一个简单的遮罩层,其中WS_EX_...
通过学习和实践这个“不下载就后悔系列”的js特效之遮罩层应用,你不仅可以掌握基本的遮罩层实现,还能了解到如何通过JavaScript和jQuery库来增强网页的动态性和交互性。这将对你的前端开发技能有着显著的提升,助你...
"css+js实现部分区域高亮可编辑遮罩层" 本文主要介绍了使用css和js实现部分区域高亮可编辑遮罩层的方法。该方法使用javascript和css来实现遮罩层的效果,遮罩层可以高亮显示指定区域,并且可以编辑该区域。 知识点...
在Cocos2d-x游戏开发中,为了实现各种丰富的视觉效果,开发者经常需要用到遮罩层(Mask Layer)技术。本教程将重点讲解如何利用Cocos2d-x的遮罩层功能来实现捕鱼达人游戏中金币表盘的效果。这个效果通常包括一个动态...