其中有mask()和unmask()这两个方法,这两个方法在指定的元素上添加一个遮罩层和一个提示消息实现,增加客户体验。由于最近做项目的时候,发现有时为了使用这一两个方法需要引入一个比较“庞大”的Extjs进来,觉得有点不划算,于是自己用jquery实现了一个比较简单mask、unmask方法来实现该效果。大家知道jquery是一个优秀的javascript框架,不但体积小而且使用方便,我现在逐渐将系统中使用Extjs实现的代码或组建全部更换成Jquery来实现。好了不多说,上我的代码,这些代码是根据网上的一位朋友实现的documentMask基础上进行整改的。使使用上更加灵活方便了。
(没什么技术含量,旨在为那些需要的朋友提供帮助)
复制代码 代码如下:
(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();
}
// 创建一个 Mask 层,追加到对象中
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();
});
}
});
})();
下面是使用实例代码可供参考
代码
复制代码 代码如下:
<html>
<head>
<style>
body{
font-size:12px;
}
</style>
<script src="http://img./jslib/jquery/jquery-1.3.2.js" type="text/javascript"></script>
<script type="text/javascript">
(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();
}
// 创建一个 Mask 层,追加到对象中
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();
});
}
});
})();
</script>
</head>
<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()">关闭div遮罩</a>
<a href="#" onclick="$(document).mask('全屏遮罩').click(function(){$(document).unmask()})">全部遮罩</a>
</body>
</html>
相关推荐:
SEO优化引导新官网,助力企业迈向成功之路,宋轶ai换
ChatGPT中显示已进行一处编辑,但看不到内容?你需要了解的隐藏问题!,ai敲
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升
用AI修改文章,提升写作效率与质量的新时代
360优化关键词-提升网站流量与排名的秘密武器,美拍ai
AI一键生成文章免费:革新写作方式,提升创作效率
seo深度优化插件是什么,深度优化手机软件 ,ai的缩写
SEO占位:如何在竞争激烈的市场中占得先机?,梁平区省心全网营销推广
为什么选择收录网站是企业在线营销的必备策略,全网营销与推广
seo高手有什么条件,seo难上手吗 ,指南ai写作电力创新
URL站长的崛起:打造高效网站运营的秘密武器,网站建设费用计算依据
什么是seo运营,什么是seo营销 ,ai绘画沙地
seo需要保持什么心态,seo的要求 ,ai83562
SEO出超:如何通过精准优化实现网站流量大爆发,营销推广方式联系f火15星
“多网建站”助力企业跨越发展,开启全新数字化时代,海南网站优化电池
什么是神马排名?让你的网站脱颖而出,轻松占据搜索引擎的C位!,乳山网站优化关键词排名
AI搜索写文章:一丝丝智慧背后的无限可能,电脑免费ai写作神器
GoogleSEO打满分自然流量会高吗?揭开SEO优化的真相,猪插画ai
seo的推广工具,seo推广软件哪个好 ,国内ai写作论文怎么样
企业如何借助SEO咨询实现精准流量引爆,助力业绩提升,立刻推广的旅游线下营销
seo网站是什么东西,seo网站是什么东西啊 ,ai锯齿消失
SEO人工优化-让你的网页轻松登上搜索引擎首页,ai主母
什么是seo伪原创,seo就业前景伪原创怎么写 ,头像ai画怎么弄
SEO招标:如何通过专业SEO服务助力企业脱颖而出,牡丹江关键词排名怎么样
什么是seo寄生虫,寄生虫seo原理 ,AI 疫
SEO拓客,让您的业务飞速增长!,密云自适应网站建设
ChatGPT免费订阅的使用限制:其潜力与挑战,ai辅助线无法对齐画板
SEO要点:提升网站排名的核心技巧与策略,福田市网站建设推广费用
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版
仿写AI:智能时代的创作革命,洛江区移动房网站推广
WP原创:打造属于你的独特网站,从这里开始!,一个网站推广一个月需要多少钱
SEO观察:2025年搜索引擎优化的新趋势与机遇,seo2是什么状态
AI智能工具的无限可能:未来已来,你准备好了吗?
什么叫改写-解读“改写”背后的艺术与技巧,网站制作建设模板图片
ChatGPT页面空白无法登录?如何解决这一困扰?,温州ai字幕生成
SEO好吗?助力网站成功的关键之道,网站优化方案范文怎么写
seo需要会什么技术呢,seo需要会什么技术呢知乎 ,红色框ai
SEO优化10种策略:提升网站排名的有效方法,帅气ai男头白底
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
SEO策划:让你的网站迅速脱颖而出的秘诀,seo优化和技巧
未来写作新模式文章撰写AI如何助力内容创作
ChatGPT为什么打不开了?揭秘背后的原因与解决办法,ai业务后端
seo需要什么器械,seo需要什么器械才能做 ,长续航ai纯电汽车
seo词库优化,搜索词条优化 ,ai点选择
SEO努力:提升网站排名的关键策略,网站建设微企动力
ChatGPT对于大数据发展的帮助:赋能行业变革,推动智能化未来,ai写作真的好吗
什么是seo快排,seo快排方案 ,ai剪图形
SEO学费多少钱?揭秘SEO培训的投资价值与回报!,郴州网站推广多少钱一个
洗文章AI:让内容创作变得更智能、更高效
ChatGPT目前,我无法查看或打开附件,但我依然能为你提供全面的帮助,苹果ai谷歌ai