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 相关文章推荐
符合W3C网页标准的iframe标签的使用方法
Jul 19 Javascript
基于jquery的inputlimiter 实现字数限制功能
May 30 Javascript
网页右下角弹出窗体实现代码
Jun 05 Javascript
js 自带的sort() 方法全面了解
Aug 16 Javascript
JS扩展类,克隆对象与混合类实例分析
Nov 26 Javascript
Bootstrap基本插件学习笔记之折叠(22)
Dec 08 Javascript
Javascript网页抢红包外挂实现分享
Jan 11 Javascript
使用canvas实现一个vue弹幕组件功能
Nov 30 Javascript
vue项目中使用scss的方法步骤
May 16 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 Javascript
探索浏览器页面关闭window.close()的使用详解
Aug 21 Javascript
vue+swiper实现左右滑动的测试题功能
Oct 30 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/04/25 PHP
服务器变量 $_SERVER 的深入解析
2013/07/02 PHP
thinkPHP3.2.2框架行为扩展及demo示例
2018/06/19 PHP
php实现大文件断点续传下载实例代码
2019/10/01 PHP
laravel框架数据库配置及操作数据库示例
2019/10/10 PHP
根据分辩率调用不同的CSS.
2007/01/08 Javascript
如何用js控制frame的隐藏或显示的解决办法
2013/03/20 Javascript
简单的JavaScript互斥锁分享
2014/02/02 Javascript
jquery 操作两个select实现值之间的互相传递
2014/03/07 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
简单封装js的dom查询实例代码
2016/07/08 Javascript
json与jsonp知识小结(推荐)
2016/08/16 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
js隐式转换的知识实例讲解
2018/09/28 Javascript
Vue源码学习之关于对Array的数据侦听实现
2019/04/23 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
JSON是什么?有哪些优点?JSON和XML的区别?
2019/04/29 Javascript
Python实现将sqlite数据库导出转成Excel(xls)表的方法
2017/07/17 Python
python实现kmp算法的实例代码
2019/04/03 Python
Python面向对象封装操作案例详解
2019/12/31 Python
Python利用 utf-8-sig 编码格式解决写入 csv 文件乱码问题
2020/02/21 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
HTML5的结构和语义(2):结构
2008/10/17 HTML / CSS
美国生日蛋糕店:Bake Me A Wish!
2017/02/08 全球购物
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
大学毕业感言100字
2014/02/03 职场文书
教室布置标语
2014/06/26 职场文书
初中生物教学反思
2016/02/20 职场文书
CSS完成视差滚动效果
2021/04/27 HTML / CSS
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
win7配置本地ftp服务器的图文教程
2022/08/05 Servers