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 null undefined 空区别说明
Jun 13 Javascript
读jQuery之一(对象的组成)
Jun 11 Javascript
理解JavaScript的prototype属性
Feb 11 Javascript
Chrome下ifame父窗口调用子窗口的问题示例探讨
Mar 17 Javascript
PHP中使用微秒计算脚本执行时间例子
Nov 19 Javascript
javascript基本算法汇总
Mar 09 Javascript
快速使用Bootstrap搭建传送带
May 06 Javascript
JavaScript中setter和getter方法介绍
Jul 11 Javascript
详解如何使用webpack打包Vue工程
May 27 Javascript
JS实现的集合去重,交集,并集,差集功能示例
Mar 13 Javascript
vue elementUI tree树形控件获取父节点ID的实例
Sep 12 Javascript
原生js实现Flappy Bird小游戏
Dec 24 Javascript
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
PHP include_path设置技巧分享
2011/07/03 PHP
PHP中的gzcompress、gzdeflate、gzencode函数详解
2014/07/29 PHP
如何在Web页面上直接打开、编辑、创建Office文档
2007/03/12 Javascript
js 发个判断字符串是否为符合标准的函数
2009/04/27 Javascript
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
2011/09/05 Javascript
100个不能错过的实用JS自定义函数
2014/03/05 Javascript
node.js中的fs.readlinkSync方法使用说明
2014/12/17 Javascript
js实现有时间限制消失的图片方法
2015/02/27 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
Nuxt.js踩坑总结分享
2018/01/18 Javascript
Vue项目webpack打包部署到Tomcat刷新报404错误问题的解决方案
2018/05/15 Javascript
AngularJS标签页tab选项卡切换功能经典实例详解
2018/05/16 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
layui实现三级导航菜单
2019/07/26 Javascript
说一说Python logging
2016/04/15 Python
Python的面向对象编程方式学习笔记
2016/07/12 Python
详解Python中最难理解的点-装饰器
2017/04/03 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
将Dataframe数据转化为ndarry数据的方法
2018/06/28 Python
selenium跳过webdriver检测并模拟登录淘宝
2019/06/12 Python
python计算无向图节点度的实例代码
2019/11/22 Python
python numpy数组复制使用实例解析
2020/01/10 Python
美国知名男士服饰品牌:Brooks Brothers(布克兄弟)
2016/08/25 全球购物
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
小区消防演习方案
2014/02/21 职场文书
百年校庆节目主持词
2014/03/27 职场文书
2014年银行工作总结范文
2014/11/12 职场文书
安阳殷墟导游词
2015/02/10 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
python获取淘宝服务器时间的代码示例
2021/04/22 Python
Android实现获取短信验证码并自动填充
2023/05/21 Java/Android