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类的封装及实现代码
Dec 02 Javascript
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
理解JavaScript的prototype属性
Feb 11 Javascript
Jquery图形报表插件 jqplot简介及参数详解
Oct 10 Javascript
jquery实现的伪分页效果代码
Oct 29 Javascript
JavaScript入门教程之引用类型
May 04 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
Apr 05 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
javascript编程开发中取色器及封装$函数用法示例
Aug 09 Javascript
解决Vue编译时写在style中的路径问题
Sep 21 Javascript
vue 2.5.1 源码学习 之Vue.extend 和 data的合并策略
Jun 04 Javascript
使用layui 的layedit定义自己的toolbar方法
Sep 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
《心理测量者3》剧场版动画预告
2020/03/02 日漫
一篇入门的php Class 文章
2007/04/04 PHP
php自定文件保存session的方法
2014/12/10 PHP
Smarty变量用法详解
2016/05/11 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
动态添加删除表格行的js实现代码
2014/02/28 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
js实现的tab标签切换效果代码分享
2015/08/25 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
js实现导航吸顶效果
2017/02/24 Javascript
使用JS编写的随机抽取号码的小程序
2017/08/11 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
Vue $emit()不能触发父组件方法的原因及解决
2020/07/28 Javascript
Python模块搜索路径代码详解
2018/01/29 Python
python实现控制台打印的方法
2019/01/12 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
Django Rest framework解析器和渲染器详解
2019/07/25 Python
pygame实现俄罗斯方块游戏(基础篇3)
2019/10/29 Python
Jupyter Notebook打开任意文件夹操作
2020/04/14 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
Python爬虫入门教程01之爬取豆瓣Top电影
2021/01/24 Python
CSS3径向渐变之大鱼吃小鱼之孤单的大鱼
2016/04/26 HTML / CSS
岗位职责的构建方法
2014/02/01 职场文书
婚礼司仪主持词
2014/03/14 职场文书
大学社团招新的通讯稿
2014/09/10 职场文书
挂职个人工作总结
2015/03/05 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
2016年主题党日活动总结
2016/04/05 职场文书
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
关于JS中的作用域中的问题思考分享
2022/04/06 Javascript