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 相关文章推荐
Add a Formatted Table to a Word Document
Jun 15 Javascript
JS 创建对象(常见的几种方法)
Nov 03 Javascript
Javascript 原型和继承(Prototypes and Inheritance)
Apr 01 Javascript
javascript 简练的几个函数
Aug 29 Javascript
javascript css styleFloat和cssFloat
Mar 15 Javascript
Jquery截取中文字符串的实现代码
Dec 22 Javascript
Function.prototype.call.apply结合用法分析示例
Jul 03 Javascript
JS处理一些简单计算题
Feb 24 Javascript
VUEX 数据持久化,刷新后重新获取的例子
Nov 12 Javascript
JavaScript onclick事件使用方法详解
May 15 Javascript
js实现3D旋转效果
Aug 18 Javascript
Vue实现图书管理小案例
Dec 03 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
PHP 将图片按创建时间进行分类存储的实现代码
2010/01/05 PHP
PHP 第二节 数据类型之数值型
2012/04/28 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
Javascript的并行运算实现代码
2010/11/19 Javascript
关闭时刷新父窗口两种方法
2014/05/07 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
js获取页面及个元素高度、宽度的代码
2016/04/26 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
2017/03/28 jQuery
JS 中LocalStorage和SessionStorage的使用
2017/08/17 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
Python简单的制作图片验证码实例
2017/05/31 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python实现朴素贝叶斯分类器的方法详解
2018/07/04 Python
python递归实现快速排序
2018/08/18 Python
python 3.6.5 安装配置方法图文教程
2018/09/18 Python
python爬取cnvd漏洞库信息的实例
2019/02/14 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
使用Python制作一个数据预处理小工具(多种操作一键完成)
2021/02/07 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
CSS3 rgb and rgba(透明色)的使用详解
2020/09/25 HTML / CSS
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
美国嘻哈文化生活方式品牌:GLD
2018/04/15 全球购物
Crocs欧洲官网:Crocs Europe
2020/01/14 全球购物
大众服装店创业计划书范文
2014/01/01 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
党员志愿者活动总结
2014/06/26 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
上课迟到检讨书
2015/05/06 职场文书
2016中秋节晚会开场白
2015/11/26 职场文书
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis