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 相关文章推荐
jquery图片放大功能简单实现
Aug 01 Javascript
JS批量操作CSS属性详细解析
Dec 16 Javascript
js写的评论分页(还不错)
Dec 23 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
Mar 08 Javascript
百度判断手机终端并自动跳转js代码及使用实例
Jun 11 Javascript
js实现仿百度汽车频道选择汽车图片展示实例
May 06 Javascript
vuejs通过filterBy、orderBy实现搜索筛选、降序排序数据
Oct 26 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
Feb 10 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
Dec 11 Javascript
基于layui实现高级搜索(筛选)功能
Jul 26 Javascript
vue 中固定导航栏的实例代码
Nov 01 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 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缩略图生成程式(需要GD库支持)
2007/03/06 PHP
php文件上传的简单实例
2013/10/19 PHP
header导出Excel应用示例
2014/01/24 PHP
php的crc32函数使用时需要注意的问题(不然就是坑)
2015/04/21 PHP
培养自己的php编码规范
2015/09/28 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
php正则修正符用法实例详解
2016/12/29 PHP
PHP观察者模式实例分析【对比JS观察者模式】
2019/05/22 PHP
jQuery.each()用法分享
2012/07/31 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
2016/01/21 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
jQuery实现鼠标滑过图片移动特效
2016/12/08 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
浅谈vue+webpack项目调试方法步骤
2017/09/11 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
Python安装第三方库及常见问题处理方法汇总
2016/09/13 Python
pandas分别写入excel的不同sheet方法
2018/12/11 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Python之Class&amp;Object用法详解
2019/12/25 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
2020/03/06 Python
解决Keras中CNN输入维度报错问题
2020/06/29 Python
Python 在函数上添加包装器
2020/07/28 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
网络工程专业毕业生推荐信
2013/10/28 职场文书
高校辅导员推荐信范文
2013/12/25 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
2015年元旦促销方案书
2014/12/09 职场文书
人事任命通知
2015/04/20 职场文书
PyQt5 显示超清高分辨率图片的方法
2021/04/11 Python
教你使用vscode 搭建react-native开发环境
2021/07/07 Javascript