<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" });
 

转载于:https://www.cnblogs.com/lori/archive/2011/07/27/2118085.html

用Jquery自己开发个代阴影的对话框吧!相关推荐

  1. miniui 和ajax,jQuery MiniUI开发系列之:Ajax处理超时、服务端错误

    MiniUI所有组件的ajax交互,均使用标准.成熟的jQuery.ajax. 依赖于jquery ajax组件的完善性,我们可以拦截住每一次ajax请求处理. 比如,拦截ajax返回数据前,判断返回 ...

  2. 《jQuery EasyUI开发指南》——10.4 迭代开发

    本节书摘来自异步社区<jQuery EasyUI开发指南>一书中的第10章,第10.4节,作者:王波著,更多章节内容可以访问云栖社区"异步社区"公众号查看 10.4 迭 ...

  3. 《jQuery UI 开发指南》——1.3 什么是CSS主题

    本节书摘来自异步社区<jQuery UI开发指南>一书中的第1章,第1.3节,作者:[美]Eric Sarrion 译者:罗晴明 ,包勇明更多章节内容可以访问云栖社区"异步社区& ...

  4. jQuery:收集一些基于jQuery框架开发的控件/jquery插件2

    Horizontal accordion: jQuery 基于jQuery开发,非常简单的水平方向折叠控件. 主页:http://letmehaveblog.blogspot.com/2007/10/ ...

  5. 18 个 jQuery Mobile 开发贴士和教程

    jQuery Mobile 是 jQuery 在手机上和平板设备上的版本.jQuery Mobile 不仅会给主流移动平台带来jQuery核心库,而且会发布一个完整统一的jQuery移动UI框架.支持 ...

  6. 全面详细的jQuery常见开发技巧手册

    本文为大家整理一篇很详尽的jQuery常见开发技巧文章,供大家参考,具体内容如下 1.关于页面元素的引用 通过jquery的$()引用元素包括通过id.class.元素名以及元素的层级关系及dom或者 ...

  7. 跨平台APP JQuery Mobile开发-张晨光-专题视频课程

    跨平台APP JQuery Mobile开发-1170人已学习 课程介绍         jQuery Mobile 是创建移动 web 应用程序的框架: 适用于所有流行的智能手机和平板电脑,使用 H ...

  8. jquery的开发版、mini版是的意思和使用场合

    jquery的开发版没有进行压缩,可读性比较强:而min版是经过压缩的,所以体积更少,但功能和开发版一样.因此,一般做法是开发过程中使用开发版,正式发布时使用min版. 追问 那上面三个文件分别是什么 ...

  9. 推荐8个最佳的jQuery移动开发插件

    这篇文章,我们将介绍与共享jQuery的一些最好的移动插件去开发移动应用.正如我们在过去所说的文章 - jQuery是流行的JavaScript库,你可以在Web项目中包含这个库,您将可以更容易和更高 ...

最新文章

  1. 清华思客 | 蓝志勇:人工智能时代公共治理创新迫在眉睫
  2. HDU5853 Jong Hyok and String(二分 + 后缀数组)
  3. Java - 常用工具类 - 集合框架
  4. 完全弄懂C++中的构造与析构函数
  5. C语言 __TIME__ - C语言零基础入门教程
  6. 怎么在pptv里下载电视剧
  7. 2017.8.10 树上染色 失败总结
  8. JavaScript多继承(转载)
  9. 【JavaScript】图表分析
  10. ISO9001\ISO14001\OHSAS18001三体系快速认证申报须知
  11. 怎么把ppt文字大小设置一致_PPT基础入门技巧,这都不会?就别谈制作PPT了,学会瞬间提高档次...
  12. rust服务器消失了_【Rust日报】 20190619:Facebook的数字货币项目Libra由Rust实现
  13. pwm占空比的c语言编程详解,灵动微MM32F003硬件最小系统 --- PWM占空比从0%到100%例程解析【18】...
  14. 下岗工冰城卖火“鱼豆腐”
  15. 多序列比对要多久时间_多序列比对软件Clustalw使用方法
  16. mysql插入表情_向MySQL数据库中插入带emoji表情符的数据时报错
  17. 机器人识别抓取笔记(基于视觉的机器人抓取——从物体定位、物体姿态估计到平行抓取器抓取估计:综述)
  18. 上传下载文件实例(vsftp服务器+nginx)
  19. IDEA中WEB项目结构和Artifacts设置
  20. char 和 wchar 有啥区别?

热门文章

  1. 小花梨的三角形(暴力上下扫三角形)
  2. SpringBoot------全局异常捕获和自定义异常
  3. ARM+linux+2440嵌入式开发相关经典书籍(转)
  4. Linux c基本知识整理
  5. 这样就算会了PHP么?-9
  6. DNS Flusher
  7. 可以用for循环直接删除ArrayList的特定元素吗?可能会出现什么问题?怎样解决?
  8. 解决Linux安装 VMware tools 工具的方法
  9. 异常 Cannot resolve class or package
  10. vue 打包后访问接口报错404 解决方案 (前提是在vue里使用了代理)