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

简介:
<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" });
 本文转自博客园张占岭(仓储大叔)的博客,原文链接:用Jquery自己开发个代阴影的对话框吧!,如需转载请自行联系原博主。
目录
相关文章
|
11月前
|
关系型数据库 MySQL Docker
利用docker 开发 信息系统,python + mysql + flask + jquery
利用docker 开发 信息系统,python + mysql + flask + jquery
108 2
|
5月前
|
设计模式 JavaScript 前端开发
必知的技术知识:jQuery插件开发精品教程,让你的jQuery提升一个台阶
必知的技术知识:jQuery插件开发精品教程,让你的jQuery提升一个台阶
62 1
|
5月前
|
JavaScript 前端开发 安全
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
安全开发-JS应用&原生开发&JQuery库&Ajax技术&加密编码库&断点调试&逆向分析&元素属性操作
|
6月前
|
前端开发 JavaScript PHP
【PHP开发专栏】jQuery与PHP实现Ajax通信
【4月更文挑战第30天】本文介绍了使用jQuery和PHP实现Ajax通信的步骤。首先,讲解了Ajax的基础和jQuery简化Ajax操作的概念。接着,展示了如何使用jQuery的`$.get()`、`$.post()`和`$.ajax()`方法发送GET和POST请求,以及如何控制请求细节。在PHP端,讨论了接收和响应Ajax请求的方法,包括处理数据、设置响应类型和错误处理。结合jQuery与PHP,开发者能实现高效、无缝的异步数据传输,提升Web应用的用户体验。
122 1
|
JavaScript
jQuery插件开发
jQuery插件开发
75 0
|
6月前
|
JavaScript 前端开发
开发jQuery插件这些就够了
开发jQuery插件这些就够了
60 0
|
Web App开发 设计模式 JavaScript
基于html+jquery开发的科学计算器(课程作业)
基于html和jquery开发的科学计算器,该科学计算器可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。 科学型带有所有普通的函数,所有的函数都分布在键盘上以致于你可以不用通过菜单列表来使用它们。
53 0
|
JavaScript 搜索推荐 Windows
基于jquery开发的Windows 12网页版
基于jquery开发的Windows 12网页版
144 0
基于jquery开发的Windows 12网页版
|
XML JSON JavaScript
基于jquery+html开发的json格式校验工具
JSON是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。
73 0
|
JavaScript
10个 jQuery 代码片段,可以帮你快速开发。
10个 jQuery 代码片段,可以帮你快速开发。
79 0