artDialog4.1.7 摘自网络

jquery.artDialog.source.js学习

1 关键的对象关系

art = jQuery = $
function artDialog() {...}
artDialog.fn = artDialog.prototype = artDialog.fn._init.prototype
jQuery.fn = jQuery.prototype = jQuery.fn.init.prototype
jQuery.extend = jQuery.fn.extend
$.fn.dialog = $.fn.artDialog
window.artDialog = $.dialog = $.artDialog = artDialog

2 默认配置

artDialog.defaults = {
        // 消息内容
 content: ‘<div class="aui_loading"><span>loading..</span></div>‘,
 title: ‘\u6d88\u606f‘,  // 标题. 默认‘消息‘
 button: null,    // 自定义按钮
 ok: null,     // 确定按钮回调函数
 cancel: null,    // 取消按钮回调函数
 init: null,     // 对话框初始化后执行的函数
 close: null,    // 对话框关闭前执行的函数
 okVal: ‘\u786E\u5B9A‘,  // 确定按钮文本. 默认‘确定‘
 cancelVal: ‘\u53D6\u6D88‘, // 取消按钮文本. 默认‘取消‘
 width: ‘auto‘,    // 内容宽度
 height: ‘auto‘,    // 内容高度
 minWidth: 96,    // 最小宽度限制
 minHeight: 32,    // 最小高度限制
 padding: ‘20px 25px‘,  // 内容与边界填充距离
 skin: ‘‘,     // 皮肤名(预留接口,尚未实现)
 icon: null,     // 消息图标名称
 time: null,     // 自动关闭时间
 esc: true,     // 是否支持Esc键关闭
 focus: true,    // 是否支持对话框按钮自动聚焦
 show: true,     // 初始化后是否显示对话框
 follow: null,    // 跟随某元素(即让对话框在元素附近弹出)
 path: _path,    // artDialog路径
 lock: false,    // 是否锁屏
 background: ‘#000‘,   // 遮罩颜色
 opacity: .7,    // 遮罩透明度
 duration: 300,    // 遮罩透明度渐变动画速度
 fixed: false,    // 是否静止定位
 left: ‘50%‘,    // X轴坐标
 top: ‘38.2%‘,    // Y轴坐标
 zIndex: 1987,    // 对话框叠加高度值(重要:此值不能超过浏览器最大限制)
 resize: true,    // 是否允许用户调节尺寸
 drag: true     // 是否允许用户拖动位置

};

3 获取某对话框

artDialog.get = function (id) {
 return id === undefined
 ? artDialog.list
 : artDialog.list[id];
};

iframeTools.source.js学习

var _top = artDialog.top // 引用顶层window对象;
artDialog.parent = _top; // 兼容v4.1之前版本,未来版本将删除此;
_topDialog = _top.artDialog; // 顶层window对象的artDialog对象;
artDialog.data // 跨框架数据共享接口,保存在顶层框架下面;
artDialog.through = _proxyDialog // 跨框架普通对话框
artDialog.open // 弹出窗口
artDialog.open.api // 引用open方法扩展方法
artDialog.opener // 引用open方法触发来源页面window
artDialog.open.origin = artDialog.opener; // 兼容v4.1之前版本,未来版本将删除此
artDialog.close // 关闭对话框
artDialog.alert // 警告对话框
artDialog.confirm // 确认对话框
artDialog.prompt // 输入提示对话框
artDialog.tips // 短暂提示对话框

// 获取源窗口
var winOpener = (art.dialog.opener == window) && window.opener || art.dialog.opener;
// 关闭窗口
var api = art.dialog.open.api;
api && api.close() || window.close();

JavaScript闭包写法的优势:隐藏实现细节,不污染window对象;

例如:

// 变量a的获取细节被隐藏,这样不会污染window对象;
 var a = function() {
  // do something
  return 1;
 }();
 // 逻辑表达式特殊应用
 a && alert("a=" + a);
 // 创建自己的API并隐藏了实现细节,这样不会污染window对象;
 ;(function(p1, p2) {
  // do something
  // 将自己的对象赋值到window
  window.xxx = xxx;
  alert(p1 + "-" + p2);
 })(1, 2);

常见的对话框实现

结合iframetools.source.js提供的默认实现;

建议使用时候同时导入jquery.artDialog.source.js和iframetools.source.js,由于默认实现的alert是一个警告消息框,这里可以自己去覆盖掉;

artDialog.shake = function () {
    var style = this.DOM.wrap[0].style,
        p = [4, 8, 4, 0, -4, -8, -4, 0],
        fx = function () {
            style.marginLeft = p.shift() + ‘px‘;
            if (p.length <= 0) {
                style.marginLeft = 0;
                clearInterval(timerId);
            };
        };
    p = p.concat(p.concat(p));
    timerId = setInterval(fx, 13);
    return this;
};

artDialog.notice = function (options) {
    var opt = options || {},
        api, aConfig, hide, wrap, top,
        duration = 800;

    var config = {
        id: ‘Notice‘,
        left: ‘100%‘,
        top: ‘100%‘,
        fixed: true,
        drag: false,
        resize: false,
        follow: null,
        lock: false,
        init: function(here){
            api = this;
            aConfig = api.config;
            wrap = api.DOM.wrap;
            top = parseInt(wrap[0].style.top);
            hide = top + wrap[0].offsetHeight;

            wrap.css(‘top‘, hide + ‘px‘)
                .animate({top: top + ‘px‘}, duration, function () {
                    opt.init && opt.init.call(api, here);
                });
        },
        close: function(here){
            wrap.animate({top: hide + ‘px‘}, duration, function () {
                opt.close && opt.close.call(this, here);
                aConfig.close = $.noop;
                api.close();
            });

            return false;
        }
    }; 

    for (var i in opt) {
        if (config[i] === undefined) config[i] = opt[i];
    };

    return artDialog.through(config);
};

artDialog.alert = function (content, callback) {
 return artDialog.through({
  id: ‘Alert‘,
  fixed: true,
  content: content,
  ok: true,
  close: callback
 });
};

artDialog.warn = function (content, callback) {
 return artDialog.through({
  id: ‘Warn‘,
  title: ‘警告‘,
  icon: ‘warning‘,
  fixed: true,
  lock: true,
  content: content,
  ok: true,
  close: callback
 });
};
时间: 2024-12-05 07:38:56

artDialog4.1.7 摘自网络的相关文章

tomcat解压版安装(摘自网络)

配置Tomcat[解压版] 选择解压版的Tomcat的理由是可以让我们使用多个Tomcat,但是配置上就会出现一些问题,需要我们手动进行更改配置.我的Tomcat版本是:apache-tomcat-6.0.16.zip 给个链接:http://tomcat.apache.org 下载完成后,解压到C:\Tomcat6(设置你的路径),检查环境变量JAVA_HOME是否存在:一般JDK安装时会自动设置,如果没有就创建,JAVA_HOME的值设为JDK的安装根路径. 环境变量位置:我的电脑 -> 右

Android:控件WebView显示网页 -摘自网络

WebView可以使得网页轻松的内嵌到app里,还可以直接跟js相互调用. webview有两个方法:setWebChromeClient 和 setWebClient setWebClient:主要处理解析,渲染网页等浏览器做的事情 setWebChromeClient:辅助WebView处理Javascript的对话框,网站图标,网站title,加载进度等 WebViewClient就是帮助WebView处理各种通知.请求事件的. 在AndroidManifest.xml设置访问网络权限:

SQL 阻塞(摘自网络)

/* 所谓的「阻塞」,是指当一个数据库会话中的事务,正在锁定其他会话事务想要读取或修改的资源, 造成这些会话发出的请求进入等待的状态.SQL Server 默认会让被阻塞的请求无限期地一直等待, 直到原来的事务释放相关的锁,或直到它超时 (根据 SET LOCK_TIMEOUT ).服务器关闭. 进程被杀死.一般的系统中,偶尔有短时间的阻塞是正常且合理的:但若设计不良的程序,就可能导致长时间的阻塞, 这样就不必要地锁定了资源,而且阻塞了其他会话欲读取或更新的需求.遇到这种情况,可能就需要手工排除

字符串相似度计算的方法,使用SQL以及C#实现,本文非原创摘自网络(.NET SQL技术交流群入群206656202需注明博客园)

1 CREATE function get_semblance_By_2words 2 ( 3 @word1 varchar(50), 4 @word2 varchar(50) 5 ) 6 returns nvarchar(4000) 7 as 8 begin 9 declare @re int 10 declare @maxLenth int 11 declare @i int,@l int 12 declare @tb1 table(child varchar(50)) 13 declare

C#制作ActiveX控件及部署升级(摘自网络)

使用C#开发ActiveX控件 控件开发.制作CAB包.签名.部署 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动态处理能力.通常ActiveX控件都是用C++或VB语言开发,本文介绍另一种方式,在.NET Framework平台上,使用C#语言开发ActiveX控件. 虽然本文通篇都在讲如何使用C#语言开发ActiveX控件,但我并不极力推荐使用这种技术,因为该技术存在明显的局限,即需

理解OAuth 2.0 -摘自网络

OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 本文对OAuth 2.0的设计思路和运行流程,做一个简明通俗的解释,主要参考材料为RFC 6749. 一.应用场景 为了理解OAuth的适用场合,让我举一个假设的例子. 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片. 问题是只有得到用户的授权,Google才

数据库集群技术 -摘自网络

简介 当今世界是一个信息化的世界,我们的生活中无论是生活.工作.学习都离不开信息系统的支撑.而信息系统的背后用于保存和处理最终结果的地方就是数据库.因此数据库系统就变得尤为重要,这意味着如果数据库如果面临问题,则意味着整个应用系统也会面临挑战,从而带来严重的损失和后果. 如今“大数据”这个词已经变得非常流行,虽然这个概念如何落地不得而知.但可以确定的是,随着物联网.移动应用的兴起,数据量相比过去会有几何级的提升,因此数据库所需要解决的问题不再仅仅是记录程序正确的处理结果,还需要解决如下挑战: 当

【摘自网络】陈奕迅&amp;&amp;杨千嬅

揭陈奕迅杨千嬅相爱18年恋人未满的点滴片段 文/一床情书 但凡未得到,但凡是过去,总是最登对 ——题记 已经仙逝多年的香港歌坛天后梅艳芳曾经在<似是故人来>里唱道:“但凡未得到,但凡是过去,总是最登对”,将这歌词用来形容歌坛天王陈奕迅和天后杨千嬅正是恰如其分.他们俩相识于微时,互生情愫,正是友情以上恋人未满的暧昧时期,杨千嬅却出国学习,两人的恋情嘎然而止,之后陈奕迅与徐濠萦爱情长跑十年步入婚姻的殿堂,而杨千嬅情路兜兜转转后嫁给了比自己小五岁,名气远不如自己的丁子高. 原本相爱的两个人,原本般配

秒杀的架构 -摘自网络

昨天回答的太差了,明明都是些很简单的东西,我居然回答的那么差,让我很有挫败感, 一些概念性的东西这里就不说了,下面两个问题,重新梳理一下: 1,一致性哈希虚拟节点与真实节点映射关系的建立:现在我们使用的是{AAAA......AAA,ZZZZ....ZZZ}字符串构成的圆环, 每台真实服务器生成N个虚拟节点,虚拟节点生成的规则为, 用$i遍历从0到N-1, 对字符串"{$i}_{$realServer}"做md5, 生成一个虚拟节点.如果是{0, 2^32-1}整形圆环, 可以每台服务