基于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 相关文章推荐
Ext 表单布局实例代码
Apr 30 Javascript
js的延迟执行问题分析
Jun 23 Javascript
jQuery选择器全集详解
Nov 24 Javascript
jQuery中:only-child选择器用法实例
Jan 03 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
详解Bootstrap创建表单的三种格式(一)
Jan 04 Javascript
微信小程序 flex实现导航实例详解
Apr 26 Javascript
基于vue中解决v-for使用报红并出现警告的问题
Mar 03 Javascript
vue发送ajax请求详解
Oct 09 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
vue中移动端调取本地的复制的文本方式
Jul 18 Javascript
详解ES6实现类的私有变量的几种写法
Feb 10 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
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
PHP数据库调用类调用实例(详细注释)
2012/07/12 PHP
解析PHP的session过期设置
2013/06/29 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP获取文本框、密码域、按钮的值实例代码
2017/04/19 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
如何实现JS函数的重载
2006/09/22 Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
Javascript 布尔型分析
2008/12/22 Javascript
jQuery中关于ScrollableGridPlugin.js(固定表头)插件的使用逐步解析
2014/07/17 Javascript
技术男用来对妹子表白的百度首页
2014/07/23 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
在React项目中使用Eslint代码检查工具及常见问题
2018/10/10 Javascript
JS获取今天是本月第几周、本月共几周、本月有多少天、是今年的第几周、是今年的第几天的示例代码
2018/12/05 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
vue中在vuex的actions中请求数据实例
2019/11/08 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
Python判断文件和字符串编码类型的实例
2017/12/21 Python
如何在python字符串中输入纯粹的{}
2018/08/22 Python
opencv导入头文件时报错#include的解决方法
2019/07/31 Python
Python通过文本和图片生成词云图
2020/05/21 Python
python实现自动清理重复文件
2020/08/24 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
Python中生成ndarray实例讲解
2021/02/22 Python
LORAC官网:美国彩妆品牌
2019/08/27 全球购物
木马的传播途径主要有哪些
2016/04/08 面试题
写演讲稿要注意的六件事
2014/01/14 职场文书
一体化教学实施方案
2014/05/10 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
解析在浏览器地址栏输入一个URL后发生了什么
2021/06/21 Servers
Python编程根据字典列表相同键的值进行合并
2021/10/05 Python
使用CSS设置滚动条样式
2022/01/18 HTML / CSS