jQuery实现点击按钮弹出可关闭层的浮动层插件


Posted in Javascript onSeptember 19, 2015

本文实例讲述了jQuery实现点击按钮弹出可关闭层的浮动层插件。分享给大家供大家参考。具体如下:

这是一款由漫画Jquery弹出层插件改编而来,小鸟Js弹窗插件,按ESC可以关闭窗口。默认不带样式,大家可以根据自己的项目写样式。弹出层代码很小,min版的只1.15k,因为小所以值得应用。希望有网友可以再改进,希望她变得更小。

运行效果截图如下:

jQuery实现点击按钮弹出可关闭层的浮动层插件

在线演示地址如下:

具体代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jquery实现可拖动弹出层特效</title>
<script src="jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function popWin(a){function n(){var a=k?k:document.body,b=a.scrollHeight>a.clientHeight?a.scrollHeight:a.clientHeight,c=a.scrollWidth>a.clientWidth?a.scrollWidth:a.clientWidth;$("#maskLayer").css({height:b,width:c})}var d,e,b=9e3,c=!1,f=$("#"+a),g=f.width(),h=f.height(),i=f.find(".tit"),j=f.find(".close"),k=document.documentElement,l=($(document).width()-f.width())/2,m=(k.clientHeight-f.height())/2;f.css({left:l,top:m,display:"block","z-index":b- -1}),i.mousedown(function(a){c=!0,d=a.pageX-parseInt(f.css("left")),e=a.pageY-parseInt(f.css("top")),f.css({"z-index":b- -1}).fadeTo(50,.5)}),i.mouseup(function(){c=!1,f.fadeTo("fast",1)}),$(document).mousemove(function(a){if(c){var b=a.pageX-d;0>=b&&(b=0),b=Math.min(k.clientWidth-g,b)-5;var i=a.pageY-e;0>=i&&(i=0),i=Math.min(k.clientHeight-h,i)-5,f.css({top:i,left:b})}}),j.live("click",function(){$(this).parent().parent().hide().siblings("#maskLayer").remove()}),$('<div id="maskLayer"></div>').appendTo("body").css({background:"#000",opacity:".4",top:0,left:0,position:"absolute",zIndex:"8000"}),n(),$(window).bind("resize",function(){n()}),$(document).keydown(function(a){27==a.keyCode&&($("#maskLayer").remove(),f.hide())})}
</script>
<style type="text/css">
body{margin:0; padding:0;font-size:12px;}
dt{padding:10px;}
p{ height:100px; line-height:100px; border:1px solid #eee; margin:10px; }
i{ font-style:normal;}
#detail{ position:absolute;width:400px;height:200px;border:1px solid #ccc;background:#efefef; display:none;}
#detail .tit{ background:#ddd; display:block; height:33px; cursor:move;}
#detail .tit i{ float:right; line-height:33px; padding:0 8px;cursor:default;}
#detail2{position:absolute;width:300px;height:100px;border:1px solid #555;background:#555;display:none;}
#detail2 .tit{ background:#333; display:block; height:33px;cursor:move;}
#detail2 .tit i{ float:right; line-height:33px; padding:0 8px; color:#777; cursor:default;}
</style>
</head>
<body>
<br /><br />
<center>
<dl>
<dt><button id="t1">点我弹一个</button></dt>
 <dt><button id="t2">点我再弹一个</button></dt>
</dl>
</center>
<div id="detail">
<div class="tit"><i class="close">关闭</i></div>
</div>
<div id="detail2">
<div class="tit"><i class="close">关闭</i></div>
再弹出一个窗
</div>
<script type="text/javascript">
 $("#t1").click(function(){
   popWin("detail");
 });
 $("#t2").click(function(){
   popWin("detail2");
 });
</script>
<div style="text-align:center;margin:50px 0; font:normal 14px/24px 'MicroSoft YaHei';">
</div>
</body>
</html>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
用js 让图片在 div或dl里 居中,底部对齐
Jan 21 Javascript
javascript深入理解js闭包
Jul 03 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
Feb 03 Javascript
jquery显示和隐藏div特效实例
Feb 27 Javascript
JS中判断null、undefined与NaN的方法
Mar 26 Javascript
JS、DOM和JQuery之间的关系示例分析
Apr 09 Javascript
简介JavaScript中的getSeconds()方法的使用
Jun 10 Javascript
JSP基于Bootstrap分页显示实例解析
Jun 12 Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 Javascript
js获取css的各种样式并且设置他们的方法
Aug 22 Javascript
10个经典的网页鼠标特效代码
Jan 09 Javascript
Vue解决移动端弹窗滚动穿透问题
Dec 15 Vue.js
JS基于myFocus库实现各种功能的tab选项卡切换效果
Sep 19 #Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 #Javascript
JS实现的不规则TAB选项卡效果代码
Sep 18 #Javascript
JS实现兼容性好,带缓冲的动感网页右键菜单效果
Sep 18 #Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
Sep 18 #Javascript
jQuery采用连缀写法实现的折叠菜单效果
Sep 18 #Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
Sep 18 #Javascript
You might like
LotusPhp笔记之:Logger组件的使用方法
2013/05/06 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
2014/04/01 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
PHP 记录访客的浏览信息方法
2018/01/29 PHP
PHP7修改的函数
2021/03/09 PHP
js 表格隔行颜色
2009/12/02 Javascript
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
JS实现距离上次刷新已过多少秒示例
2014/05/23 Javascript
javascript截取字符串小结
2015/04/28 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
js前端日历控件(悬浮、拖拽、自由变形)
2017/03/02 Javascript
ES6模块化的import和export用法方法总结
2017/08/08 Javascript
jQuery实现腾讯信用界面(自制刻度尺)样式
2017/08/15 jQuery
如何让你的JS代码更好看易读
2017/12/01 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
element vue Array数组和Map对象的添加与删除操作
2018/11/14 Javascript
微信小程序下拉刷新PullDownRefresh的使用方法
2018/11/29 Javascript
js实现手表表盘时钟与圆周运动
2020/09/18 Javascript
解决项目pycharm能运行,在终端却无法运行的问题
2019/01/19 Python
python对常见数据类型的遍历解析
2019/08/27 Python
tensorflow多维张量计算实例
2020/02/11 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
HTML5 video 事件应用示例
2014/09/11 HTML / CSS
基于HTML5 的人脸识别活体认证的实现方法
2016/06/22 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
最新计算机专业自荐信
2013/10/16 职场文书
实习生的自我鉴定范文欣赏
2013/11/20 职场文书
Vue详细的入门笔记
2021/05/10 Vue.js
详解MindSpore自定义模型损失函数
2021/06/30 Python
win10如何开启ahci模式?win10开启ahci模式详细操作教程
2022/07/23 数码科技