深入学习jquery源码之弹出框插件实现

2023-10-31

深入学习jquery源码之弹出框设计

jquery自带的提示框

$.messager.confirm('提示', '您确定通过吗?', function (r) {	
        if (r) {
		
		}
});

 

弹出框插件

function (window, $, undefined) {

    var COOKIE_USER = "COOKIE_USER",
          SERVICE_ROOT = "http://854:8000/",

        SERVICE_PATH = SERVICE_ROOT + "/",
        TIMEOUT_PATH = "/index.html",
        APP_ID = "656859d2eb52a",
        DEBUG = true
        ;
    $.support.cors = true;
    var jqueryAjax = $.ajax;


    /******************************************core****************************** */
    var _Core = function () {
        var eventarr = [];

        this.DEBUG = function () { return DEBUG; };

        this.SERVICEROOT = function () {
            return SERVICE_ROOT;
        }
        this.APPID = APP_ID;
        //验证失败,
        this.TimeOut = function () {
            //alert("身份验证失败,请重新登录!");
            $Core.LogOut();
            window.top.location.href = TIMEOUT_PATH;
        };

        $(function () {
            var _interval = setInterval(function () {
                //if
                if (!window.ajaxruning) {
                    clearInterval(_interval);
                    pageLoad();
                }
            }, 100);
            $Core.ValidPage();
            $Core.ValidAction();

        });
    };

  window.$Core = new _Core();


  var _UI = function () {
        var _message = function () {
            var createAlert = function (type, msg, timeout) {
                if (timeout === undefined)
                    timeout = 2000;

                var div = $(
                    '<div class="cntenalert" >' +
                    '<div class="alert-icons"></div>' +
                    '<div class="alert-close">×</div>' +
                    '<div class="alert-msg"></div></div>');
                var winWidth = ($(window).width() - 200) / 2;
                div.css("left", winWidth);
                div.addClass(type);

                var close = div.find(".alert-close");
                var divmsg = div.find(".alert-msg");
                close.click(function () {
                    div.fadeOut(function () {
                        div.remove();
                    });
                });

                divmsg.text(msg);

                div.fadeIn(function () {

                });

                $("body").append(div);
                if (timeout > 0)
                    setTimeout(function () {
                        div.fadeOut(function () {
                            div.remove();
                        });
                    }, timeout);

            }
            /**
             * 成功提示
             * @param {any} msg
             */
            this.success = function (msg) {
                createAlert("alert", msg);
            }
            /**
             * 错误的提示
             * @param {any} msg
             */
            this.error = function (msg) {
                createAlert("alert-error", msg, 5000);
            }
            /**
             * 提醒
             * @param {any} msg
             */
            this.warning = function (msg) {
                createAlert("alert-warning", msg, 3000);
            }
            /**
             * 清除所有提示信息
             * */
            this.clear = function () {
                $(".cntenalert").fadeOut(function () {
                    $(".cntenalert").remove();
                });
            }

        }
        this.message = new _message();
        /**
         * 打开一个url 的Dialog 对话框
         * @param {any} id 指定一个名字
         * @param {any} url 页面地址
         * @param {any} options Dialog 参数
         */
        this.openDialog = function (id, url, options) {
            var frameid = id + "_frame";
            var win = $("#" + id);
            if (url.indexOf("?") > -1)
                url = url + "&_r=" + Math.random();
            else
                url = url + "?_r=" + Math.random();
            var getframe = function (id, url) {
                var f = $('<iframe id="{0}" src="{1}" width="100%" height="100%" scrolling="no" frameborder="0" ></iframe>'.format(id, url));
                return f;
            };

            if (win.size() == 0) {
                var $frame = getframe(frameid, url);
                //$frame.height(options.height - 43);
                var defaultOptions = {
                    maximizable: true,
                    resizable: true,
                    closed: false,
                    cache: false,
                    modal: true,
                    constrain: true,
                    width: "80%",
                    height: "90%"
                };
                if (options) {
                    $.extend(defaultOptions, options,
                        {
                            onClose: function () {
                                win.remove();
                                if ($.isFunction(options.onClose)) {
                                    options.onClose.apply(this);
                                }
                            }
                        });
                }
                defaultOptions.content = $frame;

                var dd = $("<div id='" + id + "' style='overflow:hidden' />");
                return dd.dialog(defaultOptions);
            } else {
                $("#" + frameid).attr("src", url);
                return win.dialog("open");
            }

        }
    };
    $Core.UI = new _UI();
})(window, jQuery);

使用:

$Core.UI.message.warning("选请选择数据!");

$Core.UI.message.success("保存成功!");


 $Core.UI.message.error(data.msg);
                var url = "../user/UserForm.html?s=" + Math.random();
                $Core.UI.openDialog("redwind", url + "&id=" + value +"&type=red",
                    {
                        title: "查看",
                        width: '80%',
                        height: '90%',
                        onClose: function () {
                        }
                    });

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深入学习jquery源码之弹出框插件实现 的相关文章

  • 深入学习jquery源码之trigger()与triggerHandler()

    深入学习jquery源码之trigger 与triggerHandler trigger type data 概述 在每一个匹配的元素上触发某类事件 这个函数也会导致浏览器同名的默认行为的执行 比如 如果用trigger 触发一个 subm
  • 深入学习jquery源码之before()和after()

    深入学习jquery源码之before 和after after content fn 概述 在每个匹配的元素之后插入内容 参数 content String Element jQuery 插入到每个目标后的内容 function Func
  • 深入学习jquery源码之map()

    概述 将一组元素转换成其他数组 不论是否是元素数组 你可以用这个函数来建立一个列表 不论是值 属性还是CSS样式 或者其他特别形式 这都可以用 map 来方便的建立 参数 callback 给每个元素执行的函数 把form中的每个input
  • 深入学习jquery源码之Deferred对象与holdReady()

    深入学习jquery源码之Deferred对象与holdReady jQuery的Deferred对象也有resolve reject then方法 还有done fail always 方法 jQuery就是用这个Deferred对象来注
  • 深入学习jquery源码之jQuery的构造函数与实例化

    深入学习jquery源码之jQuery的构造函数与实例化 创建jQuery对象的整个流程如下 1 调用 方法 2 调用jQuery prototype init 构造函数 3 根据选择器不同返回不同的jQuery对象 4 不同jQuery对
  • 深入学习jquery源码之jQuery的选择器引擎Sizzle(一)

    深入学习jquery源码之jQuery的选择器引擎Sizzle Sizzle是一个纯javascript CSS选择器引擎 jquery1 3开始使用sizzle Sizzle一反传统采取了相反的Right To Left的查询匹配方式 效
  • 深入学习jquery源码之弹出框插件实现

    深入学习jquery源码之弹出框设计 jquery自带的提示框 messager confirm 提示 您确定通过吗 function r if r 弹出框插件 function window undefined var COOKIE US
  • 深入学习jquery源码之is()与not()

    深入学习jquery源码之is 与not is expr obj ele fn 概述 根据选择器 DOM元素或 jQuery 对象来检测匹配元素集合 如果其中至少有一个元素符合这个给定的表达式就返回true 如果没有元素符合 或者表达式无效
  • 深入学习jquery源码之attr()与removeAttr()

    深入学习jquery源码之attr 与removeAttr attr name properties key value fn 概述 设置或返回被选元素的属性值 参数 name String 属性名称 properties Map 作为属性
  • 深入学习jquery源码之noConflict()

    深入学习jquery源码之noConflict jQuery noConflict extreme 概述 运行这个函数将变量 的控制权让渡给第一个实现它的那个库 执行 var jq noConflict 后 将不再控制当前的jQuery 而
  • 深入学习jquery源码之empty()与返回值remove()

    深入学习jquery源码之empty 与返回值remove empty 概述 删除匹配的元素集合中所有的子节点 把所有段落的子元素 包括文本节点 删除 p Hello span Person span a href and person a
  • 深入学习jquery源码之查询选择插件的实现

    深入学习jquery源码之上传查询选择插件的实现 function var defaults url fieldCode multi false area 40 80 code code name 注意顺序 先是code 再是name fu
  • 深入学习jquery源码之wrap()和wrapAll()

    深入学习jquery源码之wrap 和wrapAll wrap html element fn 概述 把所有匹配的元素用其他元素的结构化标记包裹起来 这种包装对于在文档中插入额外的结构化标记最有用 而且它不会破坏原始文档的语义品质 这个函数
  • 深入学习jquery源码之each()

    each 遍历一个数组或对象 可以是DOM json等格式 等价于for循环 返回值 jQuery each callback 参数 对于每个匹配的元素所要执行的函数 概述 以每一个匹配的元素作为上下文来执行一个函数 意味着 每次执行传递进
  • 深入学习jquery源码之append()和prepend()

    深入学习jquery源码之append 和prepend append content fn 概述 向每个匹配的元素内部追加内容 这个操作与对指定的元素执行appendChild方法 将它们添加到文档中的情况类似 参数 content St
  • 深入学习jquery源码之isFunction()和isPlainObject()

    深入学习jquery源码之isFunction 和isPlainObject isArray obj 概述 测试对象是否为数组 参数 obj Object 用于测试是否为数组的对象 b append isArray b true b isF
  • 深入学习jquery源码之html()与text()和val()

    深入学习jquery源码之html 与text 和val html val fn 概述 取得第一个匹配元素的html内容 这个函数不能用于XML文档 但可以用于XHTML文档 在一个 HTML 文档中 我们可以使用 html 方法来获取任意
  • 深入学习jquery源码之replaceWith()和replaceAll()

    深入学习jquery源码之replaceWith 和replaceAll replaceWith content fn 概述 将所有匹配的元素替换成指定的HTML或DOM元素 参数 content String Element jQuery
  • 深入学习jquery源码之data()

    深入学习jquery源码之data jQuery data element key value 概述 在元素上存放数据 返回jQuery对象 注意 这是一个底层方法 你应当使用 data 来代替 此方法在jQuery 1 8中删除 但你仍然
  • 深入学习jquery源码之addClass()和toggleClass()与hasClass()

    深入学习jquery源码之addClass 和toggleClass 与hasClass addClass class fn 概述 为每个匹配的元素添加指定的类名 参数 class String 一个或多个要添加到元素中的CSS类名 请用空

随机推荐

  • servlet 3.0使用和原理

    目录 Servlet 3 0 起步 Servlet 3 0 异步 SPI原理分析 使用SPI手写Servlet 3 0 Servlet 3 0 起步 Servlet 3 0新增了若干注解 用于简化Servlet 过滤器和监听器的声明 使得w
  • LeetCode刷题之“最长公共前缀“的python解法之一

    最长公共前缀 编写一个函数来查找字符串数组中的最长公共前缀 如果不存在公共前缀 返回空字符串 示例 1 输入 flower flow flight 输出 fl 示例 2 输入 dog racecar car 输出 解释 输入不存在公共前缀
  • 图片路径转文件流

    export const imageToBase64 img gt Vue prototype imageToBase64 img gt 定义全局 var canvas document createElement canvas canva
  • 【DL】第 5 章:生成模型

    大家好 我是Sonhhxg 柒 希望你看完之后 能对你有所帮助 不足请指正 共同学习交流 个人主页 Sonhhxg 柒的博客 CSDN博客 欢迎各位 点赞 收藏 留言 系列专栏 机器学习 ML 自然语言处理 NLP 深度学习 DL fore
  • C++数据结构笔记(6)栈的链式存储结构

    对于栈的链式存储结构 实现原理本质上是受限的链表 此外与顺序存储不同的是 链式结构选用左边 头结点 作为栈的顶部 这样的好处是只要找到头结点即可实现插入元素等操作 LinkStack h头文件 ifndef LINKSTACK H defi
  • 好用的C库-cmockery单元测试

    cmockery简单使用 一 介绍 cmockery是用来给C语言函数做单元测试使用的 代码 我是很推崇面向API编程的 写功能的时候 尽可能先把问题拆分成几个接口 接口命名好之后 再实现 所以 我想弄个单元测试的库 督促自己面向API编程
  • 深度学习之LSTM时间序列预测

    LSTM long short term memory LSTM 长短时记忆网络 是循环神经网络 recurrent neural network RNN 的一个重要结构 循环神经的主要用途是处理和预测序列数据 全连接神经网络 感知机 BP
  • 高中计算机教案excel,[转载]高中信息技术教案(第三章Excel)

    课题 认识Excel 教学时间 授课班级 教学目标 了解Excel的启动 退出熟悉电子表格的功能 特点及应用 掌握Excel窗口各个组成部分 学会区分工作表和工作簿 了解工具菜单自定义与选项命令 教学重点 工作表和工作簿的关系 制定义Exc
  • 目标检测2022最新进展

    文章目录 前言 Swim Transformer V2 Swin Transformer Dynamic Head YOLOF YOLOR YOLOX Scaled YOLOv4 Scale Aware Trident Networks D
  • openssl md5算法 —— Linux下(字符串加密、文件加密)

    理解openssl md5 OpenSSL 是一个安全套接字层密码库 囊括主要的密码算法 常用的密钥和证书封装管理功能及SSL协议 并提供丰富的应用程序供测试或其它目的使用 OpenSSL被曝出现严重安全漏洞后 发现多数通过SSL协议加密的
  • Linux Qt编程——在程序中启动其他应用、脚本

    我们在编程过程中 经常会遇到这样的需求 点击一下按钮 启动另外一个应用程序 或者执行一个脚本 你一定觉得这个多简单啊 有什么可写的 其实实现同一个功能 不同的开发人员写出的代码可能千差万别 执行效率 容错率 是否有唯一启动保护等 当然 我们
  • MySQL事务(transaction) (有这篇就足够了..)

    MySQL事务处理 TransAction 大家好 我是lasting 一名热爱分享技术干货的博主 思考了很久 决定写一篇关于mysql事务 transaction 的博客 一来嘛 因为最近在复习mysql的相关知识 帮自己回顾总结一下 其
  • Linux上的gitlab日常操作

    Linux上的gitlab日常操作 一 本地创建系统用户 1 创建zhangsan用户 2 创建数据存放目录 二 git用户信息配置 1 git信息配置 2 查看git信息状态 三 下载代码版本库 1 进行证书忽略 2 下载版本库 3 进行
  • C语言函数大全-- x 开头的函数(3)

    x 开头的函数 3 1 xdr opaque 1 1 函数说明 1 2 演示示例 2 xdr opaque auth 2 1 函数说明 2 2 演示示例 2 2 1 opaque auth 2 2 2 test c 3 xdr pointe
  • 基于Vue的gannt(甘特图)组件

    gannt组件演示 gitee 地址 https gitee com TianhaoWang1996 gannt self git npm 安装 npm i gannt self S 引用 import ganntSelf from gan
  • app脱壳原理

    BlackDex是一个运行在Android手机上的脱壳工具 支持5 0 12 无需依赖任何环境任何手机都可以使用 包括模拟器 只需几秒 即可对已安装包括未安装的APK进行脱壳 脱壳原理 通过DexFile cookie进行脱壳 理论兼容ar
  • matlab for循环详解

    在MATLAB中 for循环是一种常用的循环结构 他可以重复执行一组语句 多次运行这些语句 通常使用这个结构来对一组数据进行处理 对于需要对数据进行循环处理的问题 for循环是非常有用的一种结构 下面将详细介绍MATLAB中的for循环的应
  • 自监督学习系列(四):基于蒸馏的图片掩码学习

    前文 好久不见 自监督系列文章继续更新啦 在前几期的文章我们介绍了基于辅助任务 对比学习 和图片掩码学习的自监督学习范式 对比学习 图片掩码学习其实也可以归属于基于辅助任务的自监督学习 由于这两类是目前最流行的研究方向 所以我们在此进行这样
  • Windows下安装 gcc以及g++等命令

    Windows下安装 gcc以及g 等命令 一 下载 二 安装 三 配置环境变量 四 注意事项 windows 命令行下输入 gcc v 或 g v 会提示 g 不是内部或外部命令 也不是可运行的程序或批处理文件 这是因为gcc g 在wi
  • 深入学习jquery源码之弹出框插件实现

    深入学习jquery源码之弹出框设计 jquery自带的提示框 messager confirm 提示 您确定通过吗 function r if r 弹出框插件 function window undefined var COOKIE US