简单js 弹窗插件和基本调用方法

本文介绍了一个基于jQuery的自定义弹窗插件实现方法,包括如何设置弹窗的样式属性,如宽度、高度、背景颜色及透明度等,并演示了如何通过点击事件触发弹窗显示与隐藏。
// 弹窗插件 基本调用方法
/*基于content可进行弹窗内容扩展
 * $("input").AreaSelector({ content:"<a href='#'>1111</a>", isShade:false });
 */
(function($) {
$.fn.AreaSelector = function(optins) {
var defaults = {
width : "400",
height : "300",
bgcolor : "#ece9d8",
opacity : "0.75",
zIndex : 1000,
content : "",
isShade : true
};
var opts = $.extend(defaults, optins);
var bgdiv = $("<div></div>").css(
{ "position" : "absolute",
"top" : "0",
"background" : "red",
"filter" : "progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75)",
"opacity" : "0.6",
"width" : $(window).width(),
"height" : $(window).height(),
"z-index" : 999
});
var boxdiv = $("<div></div>")
.addClass("hide")
.css({   "position" : "absolute",
"align" : "center",
"background" : opts.bgcolor,
"filter" : "progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100)",
"opacity" : opts.opacity,
"width" : opts.width,
"height" : opts.height,
"z-index" : opts.zIndex,
"display" : "none"
});
boxdiv.append(opts.content);
// 初始化
var init = function(evt, opts) {
var offset = $(evt.target).offset();
boxdiv.css({
top : offset.top + 5 + $(evt.target).height() + "px",
left : offset.left
});
// boxdiv.toggle('slow');
boxdiv.toggle();
};
var hidDiv = function() {
// boxdiv.slideUp('slow');
boxdiv.hide(0);
};


var hidBgDiv = function() {
bgdiv.remove();
};
return this.each(function() {
var $this = $(this);
$this.after(boxdiv);
$this.click(function(evt) {
// 取消事件冒泡
evt.stopPropagation();
if (opts.isShade) {
$("body").append(bgdiv);
}
init(evt, opts);
});
$(document).click(function(event) {
hidDiv();
hidBgDiv();
});
boxdiv.click(function(evt) {
evt.stopPropagation();
});
});
};
})(jQuery);

转载于:https://my.oschina.net/markyun/blog/151627

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值