基于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 相关文章推荐
JS 参数传递的实际应用代码分析
Sep 13 Javascript
如何用jquery控制表格奇偶行及活动行颜色
Apr 20 Javascript
点击页面任何位置隐藏div的实现方法
Sep 05 Javascript
Javascript基于jQuery UI实现选中区域拖拽效果
Nov 25 Javascript
Angular路由简单学习
Dec 26 Javascript
canvas 弹幕效果(实例分享)
Jan 11 Javascript
AngularJS前端页面操作之用户修改密码功能示例
Mar 27 Javascript
Node解决简单重复问题系列之Excel内容的获取
Jan 02 Javascript
Angular模版驱动表单的使用总结
May 05 Javascript
ExtJs使用自定义插件动态保存表头配置(隐藏或显示)
Sep 25 Javascript
vue计算属性无法监听到数组内部变化的解决方案
Nov 06 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
Dec 02 Javascript
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
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
2013/06/18 PHP
基于PHPexecl类生成复杂的报表表头示例
2016/10/14 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
Ajax+Json 级联菜单实现代码
2009/10/27 Javascript
jquery ui resizable bug解决方法
2010/10/26 Javascript
jQuery插件开发详细教程
2014/06/06 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
wap手机端解决返回上一页的js实例
2016/12/08 Javascript
vue2.0实战之基础入门(1)
2017/03/27 Javascript
Angular中的$watch方法详解
2017/09/18 Javascript
Vue.js简易安装和快速入门(第二课)
2017/10/17 Javascript
Node中使用ES6语法的基础教程
2018/01/05 Javascript
详解如何解决Vue和vue-template-compiler版本之间的问题
2018/09/17 Javascript
如何利用vue+vue-router+elementUI实现简易通讯录
2019/05/13 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
Vue-Cli 3.0 中配置高德地图的两种方式
2019/06/19 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
python私有属性和方法实例分析
2015/01/15 Python
浅谈Python中数据解析
2015/05/05 Python
浅谈Python类里的__init__方法函数,Python类的构造函数
2016/12/10 Python
利用python写个下载teahour音频的小脚本
2017/05/08 Python
Python爬虫天气预报实例详解(小白入门)
2018/01/24 Python
python:pandas合并csv文件的方法(图书数据集成)
2018/04/12 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
python 中值滤波,椒盐去噪,图片增强实例
2019/12/18 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
python 批量将中文名转换为拼音
2021/02/07 Python
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
捷克厨房用品购物网站:Tescoma
2018/07/13 全球购物
英国女装网上商店:I Saw It First
2018/10/18 全球购物
剪彩仪式主持词
2014/03/19 职场文书
青涩记忆观后感
2015/06/18 职场文书
2016暑期社会实践新闻稿
2015/11/25 职场文书
SONY AN-LP1 短波有源天线放大器图
2022/04/05 无线电