jquery 弹出登录窗口实现代码


Posted in Javascript onDecember 24, 2009

主要层左右居中,设置left等于窗口宽除二减去自身层宽除二就居中了,至于窗口上下居中我没做到,固定了top等于滚动条隐去的 scrollTop加上50px;

当事件触发这个类时,首先判断一下两个层是否已经append到body里面,否则每次触发它就一直增加增加了。设置了五个参数title、 content、width、height、cssName,它们分别定义了层标题、层内内容、层宽、层高、层内容的样式名。层内内容又设置了url、 text、id、iframe四种加载方式,通过ajax以get或post加载目标url的html内容,text是直接在事件里写入内容,而id是取 得页面上某个id里面的html显示到弹出层里,iframe都知道是在层里面以框架显示目标url了。往往弹出层里面的内容样式也是各种各样的,所以加 了一个参数cssName,通过它就可以把层内的内容给排好了。
jquery 弹出登录窗口实现代码
一,弹出层的html如下:

<div id="floatBoxBg"> 
<div id="floatBox" class="floatBox"> 
<div class="title"><h4>标题</h4><span>关闭</span></div> 
<div class="content">内容</div> 
</div> 
</div>

其对应样式如下:
#floatBoxBg { 
display:none; 
width:100%; 
height:100%; 
background:#000; 
position:absolute; 
top:0; 
left:0; 
} 
.floatBox { 
border:#0C7FDA 5px solid; 
width:300px; 
position:absolute; 
top:50px; 
left:40%; 
z-index:1000; 
} 
.floatBox .title { 
height:23px; 
padding:7px 10px 0; 
color:#fff; 
background-attachment: scroll; 
background-image:url(../images/dialog_bg.gif); 
background-repeat: repeat-x; 
background-position: 0px 0px; 
} 
.floatBox .title h4 { 
float:left; 
padding:0; 
margin:0; 
font-size:14px; 
line-height:16px; 
} 
.floatBox .title span { 
float:right; 
cursor:pointer; 
vertical-align:middle; 
margin-bottom:2px; 
} 
.floatBox .content { 
padding:20px 15px; 
background:#fff; 
}

二,弹出窗口js文件如下:
// JavaScript Document var dialogFirst=true; 
function dialog(title,content,width,height,cssName){ 
if(dialogFirst==true){ 
var temp_float=new String; 
temp_float="<div id=\"floatBoxBg\" style=\"height:"+$(document).height()+"px;filter:alpha(opacity=0);opacity:0;\"></div>"; 
temp_float+="<div id=\"floatBox\" class=\"floatBox\">"; 
temp_float+="<div class=\"title\"><h4></h4><span><img src=\"/upload/2009-12/20091224021446804.gif\" width=\"22\" height=\"23\" /></span></div>"; 
temp_float+="<div class=\"content\"></div>"; 
temp_float+="</div>"; 
$("body").append(temp_float); 
dialogFirst=false; 
} 
$("#floatBox .title span").click(function(){ 
$("#floatBoxBg").animate({opacity:"0"},"normal",function(){$(this).hide();}); 
$("#floatBox").animate({top:($(document).scrollTop()-(height=="auto"?300:parseInt(height)))+"px"},"normal",function(){$(this).hide();}); 
}); 
$("#floatBox .title h4").html(title); 
contentType=content.substring(0,content.indexOf(":")); 
content=content.substring(content.indexOf(":")+1,content.length); 
switch(contentType){ 
case "url": 
var content_array=content.split("?"); 
$("#floatBox .content").ajaxStart(function(){ 
$(this).html("loading..."); 
}); 
$.ajax({ 
type:content_array[0], 
url:content_array[1], 
data:content_array[2], 
error:function(){ 
$("#floatBox .content").html("error..."); 
}, 
success:function(html){ 
$("#floatBox .content").html(html); 
} 
}); 
break; 
case "text": 
$("#floatBox .content").html(content); 
break; 
case "id": 
$("#floatBox .content").html($("#"+content+"").html()); 
break; 
case "iframe": 
$("#floatBox .content").html("<iframe src=\""+content+"\" width=\"100%\" height=\""+(parseInt(height)-70)+"px"+"\" scrolling=\"auto\" frameborder=\"0\" marginheight=\"0\" marginwidth=\"0\"></iframe>"); 
} 
$("#floatBoxBg").show(); 
$("#floatBoxBg").animate({opacity:"0.5"},"normal"); 
$("#floatBox").attr("class","floatBox "+cssName); 
$("#floatBox").css({display:"block",left:(($(document).width())/2-(parseInt(width)/2))+"px",top:($(document).scrollTop()-(height=="auto"?300:parseInt(height)))+"px",width:width,height:height}); 
$("#floatBox").animate({top:($(document).scrollTop()+50)+"px"},"normal"); 
}

三,参数说明
顺序 参数 功能 备注
1 title 弹出层的标题 必填,纯文本
2 content 弹出层的内容 :url get或post某一页面里的html,该页面要求只包含body的子标签
:text 直接写入内容
:id 显示页面里某id的子标签
:iframe 层内内容以框架显示
3 width 弹出层的宽 必填,css值,比如“200px”
4 height 弹出层的高 如上,但是可用“auto”
5 cssName 弹出层的css 给id floatBox加入的样式名,层内样式可以通过这个样式名来定制

四,应用
dialog(title,content,width,height,cssName);
Javascript 相关文章推荐
关于实现代码语法标亮 dp.SyntaxHighlighter
Feb 02 Javascript
prettify 代码高亮着色器google出品
Dec 28 Javascript
Extjs优化(一)删除冗余代码提高运行速度
Apr 15 Javascript
JavaScript异步编程Promise模式的6个特性
Apr 03 Javascript
jQuery实现简易的天天爱消除小游戏
Oct 16 Javascript
JavaScript第一篇之实现按钮全选、功能
Aug 21 Javascript
jQuery中show与hide方法用法示例
Sep 16 Javascript
VUE中的无限循环代码解析
Sep 22 Javascript
简单了解node npm cnpm的具体使用方法
Feb 27 Javascript
Vue Cli 3项目使用融云IM实现聊天功能的方法
Apr 19 Javascript
Vue的编码技巧与规范使用详解
Aug 28 Javascript
js实现坦克大战游戏
Feb 24 Javascript
Jquery 高亮显示文本中重要的关键字
Dec 24 #Javascript
JQuery 写的个性导航菜单
Dec 24 #Javascript
JavaScript中出现乱码的处理心得
Dec 24 #Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 #Javascript
CSS+Jquery实现页面圆角框方法大全
Dec 24 #Javascript
HTA版JSMin(省略修饰语若干)基于javascript语言编写
Dec 24 #Javascript
javascript下arguments,caller,callee,call,apply示例及理解
Dec 24 #Javascript
You might like
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
2014/07/18 PHP
PHP+jquery实时显示网站在线人数的方法
2015/01/04 PHP
PHP使用curl模拟post上传及接收文件的方法
2016/03/04 PHP
Thinkphp单字母函数使用指南
2016/05/08 PHP
JQuery中$之选择器用法介绍
2011/04/05 Javascript
跨浏览器通用、可重用的选项卡tab切换js代码
2011/09/20 Javascript
JS实现图片横向滚动效果示例代码
2013/09/04 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
Node.js中对通用模块的封装方法
2014/06/06 Javascript
基于javascript、ajax、memcache和PHP实现的简易在线聊天室
2015/02/03 Javascript
jQuery简单设置文本框回车事件的方法
2016/08/01 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
vue.js中$watch的用法示例
2016/10/04 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
JS实现带导航城市列表以及输入搜索功能
2018/01/04 Javascript
学习Vue组件实例
2018/04/28 Javascript
详解Vue CLI3配置解析之css.extract
2018/09/14 Javascript
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
详解Vue组件之间通信的七种方式
2019/04/14 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
Python的类实例属性访问规则探讨
2015/01/30 Python
Python基于回溯法子集树模板解决m着色问题示例
2017/09/07 Python
Python浅复制中对象生存周期实例分析
2018/04/02 Python
python增加矩阵维度的实例讲解
2018/04/04 Python
解决Tensorflow安装成功,但在导入时报错的问题
2018/06/13 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
python调用API接口实现登陆短信验证
2020/05/10 Python
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
民事诉讼授权委托书范文
2014/08/02 职场文书
销售助理岗位职责
2015/02/11 职场文书
部门经理迟到检讨书
2015/02/16 职场文书
升学宴家长答谢词
2015/09/29 职场文书