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 相关文章推荐
关于页面嵌入swf覆盖div层的问题的解决方法
Feb 11 Javascript
bootstrap输入框组代码分享
Jun 07 Javascript
Bootstrap3 datetimepicker控件使用实例
Dec 13 Javascript
js实现获取鼠标当前的位置
Dec 14 Javascript
js前端实现图片懒加载(lazyload)的两种方式
Apr 24 Javascript
Javascript中的getter和setter初识
Aug 17 Javascript
JS实现按钮颜色切换效果
Sep 05 Javascript
VUE实现强制渲染,强制更新
Oct 29 Javascript
微信小程序实现星星评分效果
Nov 01 Javascript
详解datagrid使用方法(重要)
Nov 06 Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
html5调用摄像头截图功能
Jan 18 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 MySQL与分页效率
2008/06/04 PHP
php中base64_decode与base64_encode加密解密函数实例
2014/11/24 PHP
yii2中使用Active Record模式的方法
2016/01/09 PHP
PHP微信支付实例解析
2016/07/22 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
兼容IE和FF的图片上传前预览js代码
2013/05/28 Javascript
JavaScript Promise启示录
2014/08/12 Javascript
轻松创建nodejs服务器(2):nodejs服务器的构成分析
2014/12/18 NodeJs
javascript中动态函数用法实例分析
2015/05/14 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
表单中单选框添加选项和移除选项
2016/07/04 Javascript
深入浅出ES6之let和const命令
2016/08/25 Javascript
Express框架之connect-flash详解
2017/05/31 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
IntelliJ IDEA 安装vue开发插件的方法
2017/11/21 Javascript
js读取本地文件的实例
2017/12/22 Javascript
浅谈Vue下使用百度地图的简易方法
2018/03/23 Javascript
详解Angular6学习笔记之主从组件
2018/09/05 Javascript
antd Upload 文件上传的示例代码
2018/12/14 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
Python输出汉字字库及将文字转换为图片的方法
2016/06/04 Python
Python正确重载运算符的方法示例详解
2017/08/27 Python
python matplotlib坐标轴设置的方法
2017/12/05 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
dpn网络的pytorch实现方式
2020/01/14 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
奢华时尚的独特视角:La Garçonne
2018/06/07 全球购物
莫言获奖感言(全文)
2015/07/31 职场文书
小数乘法教学反思
2016/02/22 职场文书
导游词之河姆渡遗址博物馆
2019/10/10 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP