基于Jquery的开发个代阴影的对话框效果代码


Posted in Javascript onJuly 28, 2011
<script type="text/javascript" src="http://img.zzl.com/script/jquery/jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
$(function() { 
$("#open").click(function() { 
openDialog(a1); //调用,直接写上DIV的ID即可 
}); 
}); 
var openDialog = function(o) { 
var dialog = new zzlDialog(o); 
dialog.open(); 
} 
var zzlDialog = function(o) { 
this.init = function() { 
/* 对话框初始化 */ 
var XBox = '\ 
<div id="mask"/>\ 
<div id="wai">\ 
</div>\ 
<div id="nie">\ 
<table>\ 
<thead>\ 
<tr>\ 
<td>\ 
阴影弹出框\ 
</td>\ 
<td>\ 
</td>\ 
</tr>\ 
</thead>\ 
<tbody>\ 
<tr>\ 
<td colspan="2">' + $(o).html() + '\ 
</td>\ 
</tr>\ 
</tbody>\ 
</table>\ 
</div>\ 
'; 
$(document.body).append(XBox); 
}; this.cssInit = function() { 
/* css初始化 */ 
$("#wai").css({ "padding": "10px", "background": "#000", "filter": "Alpha(Opacity='50')", "position": "absolute" }); 
$("#nie").css({ "position": "absolute", "z-index": "1000" }); 
$("#nie>table").css({ "border": "1px solid rgb(55,119,188)", "border-collapse": "collapse", "background": "#fff" }); 
$("#nie>table>thead>tr").css({ "background": "rgb(0,94,172)", "color": "#fff", "height": "30px", "font-size": "14px", "font-weight": "bold" }); 
$("#nie>table").find("td").css({ "padding": "5"}); 
/* 内部主体定位 */ 
$("#nie").css({ "top": "50px" }); 
$("#nie").css({ "left": "50px" }); 
/* 关闭按钮 */ 
var $close = $("#nie>table>thead").find("td").next("td"); 
$close.html("<span>关闭</span>"); 
$close.css({ "text-align": "right", "padding-right": "5px" }); 
$close.find("span").css({ "font-weight": "normal", "cursor": "hand" }); 
$close.find("span").click(function() { new zzlDialog().closes(); }); 
/* 外部阴影添加 ,及位置和大小由内部内容来控制 */ 
$("#wai").css({ "width": ($("#nie>table").width() + 16) + "px", "height": ($("#nie>table").height() + 16) + "px" }); 
$("#wai").css({ "top": $("#nie").position().top - 8 + "px", "left": $("#nie").position().left - 8 + "px", "z-index": $("#nie").css("z-index") }); 
// $("#wai").corner("5px"); //圆角 
}; 
this.open = function() { 
this.init(); 
this.cssInit(); 
this.shadow(); 
}; 
this.shadow = function() { 
this.event_b_show(); 
if (window.attachEvent) { 
window.attachEvent('onresize', this.event_b); 
window.attachEvent('onscroll', this.event_b); 
} 
else { 
window.addEventListener('resize', this.event_b, false); 
window.addEventListener('scroll', this.event_b, false); 
} 
}; 
this.event_b = function() { 
var oShadow = $('#mask'); 
if (oShadow.css("display") != "none") { 
if (this.event_b_show) { 
this.event_b_show(); 
} 
} 
}; 
this.closes = function() { 
var oShadow = $('#mask'); 
oShadow.css({ 'display': 'none' }); 
$("#wai").remove(); 
$("#nie").remove(); 
}; 
this.event_b_show = function() { 
var oShadow = $('#mask'); 
oShadow.css({ 'position': 'absolute', 'display': '', 'opacity': '0.1', 'filter': 'alpha(opacity=10)', 'background': '#000' }); 
var sClientWidth = parent ? parent.document.body.offsetWidth : document.body.offsetWidth; 
var sClientHeight = parent ? parent.document.body.offsetHeight : document.body.offsetHeight; 
var sScrollTop = parent ? (parent.document.body.scrollTop + parent.document.documentElement.scrollTop) : (document.body.scrollTop + document.documentElement.scrollTop); 
oShadow.css({ 'top': '0px', 'left': '0px', 'width': sClientWidth + "px", 'height': (sClientHeight + sScrollTop) + "px" });
Javascript 相关文章推荐
jQuery 使用手册(一)
Sep 23 Javascript
jquery ajax abort()的使用方法
Oct 28 Javascript
javascript中的parseInt和parseFloat区别
Jul 12 Javascript
制作jquery遮罩层效果导航菜单代码分享
Dec 25 Javascript
js实现文本框宽度自适应文本宽度的方法
Aug 13 Javascript
Bootstrap面板学习使用
Feb 09 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
Sep 12 Javascript
详解vue项目的构建,打包,发布全过程
Nov 23 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
微信小程序中限制激励式视频广告位显示次数(实现思路)
Dec 06 Javascript
Vue 事件的$event参数=事件的值案例
Jan 29 Vue.js
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
Jul 28 #Javascript
js中使用DOM复制(克隆)指定节点名数据到新的XML文件中的代码
Jul 27 #Javascript
另一个javascript小测验(代码集合)
Jul 27 #Javascript
jsTree 基于JQuery的排序节点 Bug
Jul 26 #Javascript
Jquery中显示隐藏的实现代码分析
Jul 26 #Javascript
jquery attr 设定src中含有&amp;(宏)符号问题的解决方法
Jul 26 #Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
Jul 26 #Javascript
You might like
php include加载文件两种方式效率比较
2010/08/08 PHP
php中serialize序列化与json性能测试的示例分析
2013/04/27 PHP
php5.3后静态绑定用法详解
2016/11/11 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
Jquery replace 字符替换实现代码
2010/12/02 Javascript
浅谈Javascript鼠标和滚轮事件
2012/06/27 Javascript
javascript之典型高阶函数应用介绍二
2013/01/10 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
2014/04/11 Javascript
Express作者TJ告别Node.js奔向Go
2014/07/14 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
Jquery中CSS选择器用法分析
2015/02/10 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
2015/12/04 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
JS批量替换内容中关键词为超链接
2017/02/20 Javascript
javascript trie前缀树的示例
2018/01/29 Javascript
微信小程序实时聊天WebSocket
2018/07/05 Javascript
浅析java线程中断的办法
2018/07/29 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
Vue中this.$nextTick的作用及用法
2020/02/04 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
Python基于Flask框架配置依赖包信息的项目迁移部署
2018/03/02 Python
对python中array.sum(axis=?)的用法介绍
2018/06/28 Python
Python面向对象程序设计多继承和多态用法示例
2019/04/08 Python
关于python字符串方法分类详解
2019/08/20 Python
SELENIUM自动化模拟键盘快捷键操作实现解析
2019/10/28 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
国家地理在线商店:Shop National Geographic
2018/06/30 全球购物
zooplus波兰:在线宠物店
2019/07/21 全球购物
学生党员公开承诺书
2014/05/28 职场文书
银行会计主管岗位职责
2014/10/01 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
文书工作总结(范文)
2019/07/11 职场文书
nginx中proxy_pass各种用法详解
2021/11/07 Servers