基于jQuery的弹出框插件

html如下:
复制代码 代码如下:








DEMO




姓名:





密码:





邮箱:











姓名:





密码:














js插件如下:
复制代码 代码如下:

/*
* jquery.popwin.js 1.0
* Copyright (c) gaoyubao
* Date: 2012-01-12
* 1.点击按钮,可以弹出你想弹出的内容,只要设置一下id,或者class
2.浏览器窗口缩小的时候,弹出框始终是居中的
3.按ESC间,可以关闭窗口
*/
(function($) {
var css='';
$("head").append(css);
$.fn.popwin= function(options) {
var settings={
element: "element", //哪一个弹出框,可以是id,或者是class
width: 400,
height: 200,
title: "title" //弹出框的title
}
var s=$.extend(settings,options);
var htmlCode=$(s.element).html();
$(s.element).remove();
$.a={
//设置背景的宽和高
setBg: function() {
var bh=$("body").height(),wh=$(window).height(),ww=$(window).width();
if(bh>wh) {
wh=bh;
}
$("#bg").css({
width: ww,
height: wh
});
},
//设置弹出框居中
setFlag: function() {
var l=(document.documentElement.clientWidth-s.width)/2+"px",
t=(document.documentElement.clientHeight-s.height)/2+"px";
$("#flagBox").css({
width: s.width,
height: s.height,
left: l,
top: t
});
},
//弹出框关闭
setClose: function() {
$("#container").remove();
}
};
var html='
close

'+s.title+'

'+htmlCode+'
';
$(window).resize(function() {//调解窗口的大小
$.a.setFlag();
});
return this.each(function() {
$(this).bind("click",function(){
$("body").append(html);
$("#titleBox a").click(function() {
$.a.setClose();
});
$.a.setBg();
$.a.setFlag();
});
$(document).keydown(function(event) {
if(event.which=="27") {
$.a.setClose();
}
});
});
};
})(jQuery)
function isEmail(str) {
var reg = /^([a-zA-Z0-9_-])+@+([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])/;
if(reg.exec(str)) {
return false;
}else {
return true;
}
}
function check() {
var flag=true;
$("#nameErr").html('');
$("#passwordErr").html('');
$("#emailErr").html('');
var username=$("#username").val();
var password=$("#password").val();
var email=$("#email").val();
if(username=="" || username==null) {
$("#nameErr").html("姓名不能为空");
flag=false;
}
if(password=="") {
$("#passwordErr").html("密码不能为空");
flag=false;
}
if(email=="") {
$("#emailErr").html("邮箱不能为空");
flag=false;
}else if(isEmail(email)) {
$("#emailErr").html("邮箱格式错误");
flag=false;
}
return flag;
}

你可能感兴趣的:(基于jQuery的弹出框插件)