国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JQuery 遮罩層實現(mask)實現代碼

2019-11-21 00:49:22
字體:
來源:轉載
供稿:網友
其中有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.VeVB.COm/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>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昭觉县| 安新县| 宁国市| 如皋市| 斗六市| 邛崃市| 茌平县| 宜良县| 平定县| 明光市| 延川县| 东乡县| 任丘市| 滕州市| 彰化县| 陆河县| 边坝县| 巨野县| 朝阳市| 尚义县| 三明市| 交城县| 泽库县| 阿拉善右旗| 渝中区| 永安市| 新化县| 秀山| 阆中市| 乐业县| 沈阳市| 陇川县| 武冈市| 志丹县| 利川市| 逊克县| 庐江县| 黄骅市| 江陵县| 武汉市| 桐庐县|