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 相关文章推荐
javascript奇异的arguments分析
Oct 20 Javascript
web前端开发也需要日志
Dec 09 Javascript
javascript动态加载三
Aug 22 Javascript
通过onmouseover选项卡实现img图片的变化
Feb 12 Javascript
Eclipse配置Javascript开发环境图文教程
Jan 29 Javascript
10条建议帮助你创建更好的jQuery插件
May 18 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
Aug 28 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
Oct 28 Javascript
微信小程序访问node.js接口服务器搭建教程
Apr 25 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
Aug 31 Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
Sep 20 Javascript
vue实现的微信机器人聊天功能案例【附源码下载】
Feb 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格式化金额函数分享
2015/02/02 PHP
php实现用已经过去多长时间的方式显示时间
2015/06/05 PHP
详解Laravel视图间共享数据与视图Composer
2016/08/04 PHP
php常用数组array函数实例总结【赋值,拆分,合并,计算,添加,删除,查询,判断,排序】
2016/12/07 PHP
Laravel 加载第三方类库的方法
2018/04/20 PHP
php获取手机端的号码以及ip地址实例代码
2018/09/12 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
use jscript Create a SQL Server database
2007/06/16 Javascript
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
Javascript学习笔记之 函数篇(二) : this 的工作机制
2014/06/24 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
浅谈函数调用的不同方式,以及this的指向
2017/09/17 Javascript
关于express与koa的使用对比详解
2018/01/25 Javascript
解决使用vue.js路由后失效的问题
2018/03/17 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
Vue开发之封装分页组件与使用示例
2019/04/25 Javascript
深入理解Python对Json的解析
2017/02/14 Python
tensorflow实现KNN识别MNIST
2018/03/12 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Python3变量与基本数据类型用法实例分析
2020/02/14 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
美国踏板车和轻便摩托车销售网站:Mega Motor Madness
2020/02/26 全球购物
空指针到底是什么
2012/08/07 面试题
自我鉴定怎么写
2013/12/05 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
股东授权委托书
2014/10/15 职场文书
2014年圣诞节寄语
2014/12/08 职场文书
大学生个人学习总结
2015/02/15 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
Oracle中日期的使用方法实例
2022/07/07 Oracle