用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自己开发个代阴影的对话框吧!,如需转载请自行联系原博主。
目录
相关文章
|
4月前
|
关系型数据库 MySQL Docker
利用docker 开发 信息系统,python + mysql + flask + jquery
利用docker 开发 信息系统,python + mysql + flask + jquery
59 2
|
3月前
|
JavaScript 前端开发
开发jQuery插件这些就够了
开发jQuery插件这些就够了
26 0
|
5月前
|
Web App开发 设计模式 JavaScript
基于html+jquery开发的科学计算器(课程作业)
基于html和jquery开发的科学计算器,该科学计算器可进行乘方、开方、指数、对数、三角函数、统计等方面的运算,又称函数计算器。 科学型带有所有普通的函数,所有的函数都分布在键盘上以致于你可以不用通过菜单列表来使用它们。
26 0
|
6月前
|
XML JSON JavaScript
基于jquery+html开发的json格式校验工具
JSON是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。
36 0
|
7月前
|
JavaScript 搜索推荐 Windows
基于jquery开发的Windows 12网页版
基于jquery开发的Windows 12网页版
53 0
基于jquery开发的Windows 12网页版
|
7月前
|
设计模式 JavaScript 前端开发
【JavaWeb】 JavaScript 开发利器之 jQuery
封装和抽象:jQuery库封装了一系列常见的DOM操作、事件处理、Ajax请求等功能,以简化开发人员的工作。它对底层的JavaScript操作进行了封装和抽象,提供了更简洁、易用的接口。 选择器引擎:jQuery库通过自定义的选择器引擎,可以使用CSS选择器来选择HTML元素。这使得开发人员能够方便地操作DOM元素,而不需要繁琐地编写原生的JavaScript代码。 链式调用:jQuery库采用链式调用的设计模式,使得可以对选择的元素进行连续的操作。通过返回相同的jQuery对象,可以在同一行代码中依次调用多个方法,提高开发效率和代码可读性。
|
8月前
|
移动开发 JavaScript 前端开发
JavaScript 开发利器之 jQuery
JavaScript 开发利器之 jQuery
105 0
|
11月前
|
设计模式 缓存 移动开发
像 jQuery 一样通过函数开发和调用小程序组件
像 jQuery 一样通过函数开发和调用小程序组件
136 0
|
JavaScript 前端开发 Java
jquery实现动态表格项目(表格增加删除/全选/表格变色特效等功能)(附源码+javaWEB开发如果需要可以直接使用)
jquery实现动态表格项目(表格增加删除/全选/表格变色特效) 🍅 Java学习路线:搬砖工的Java学习路线 🍅 作者:程序员小王 🍅 程序员小王的博客:https://www.wolai.com/wnaghengjie/ahNwvAUPG2Hb1Sy7Z8waaF 🍅 扫描主页左侧二维码,加我微信 一起学习、一起进步 🍅 欢迎点赞 👍 收藏 ⭐留言 📝
266 0
jquery实现动态表格项目(表格增加删除/全选/表格变色特效等功能)(附源码+javaWEB开发如果需要可以直接使用)
|
JavaScript 前端开发
开发jQuery插件这些就够了
开发jQuery插件这些就够了
109 0
开发jQuery插件这些就够了