/* * jQuery jBox 2.3 * http://www.kudystudio.com * Author: kudy chen (kudychen@gmail.com) * * Copyright 2011, kudy studio * Dual licensed under the MIT or GPL Version 3 licenses. * * Last Modified: 2011-11-11 */ (function (a) { a.jBox = function (b, c) { c = a.extend({}, a.jBox.defaults, c); c.showFade = c.opacity > 0x0; c.isTip = c.isTip || false; c.isMessager = c.isMessager || false; if (b == undefined) { b = '' }; if (c.border < 0x0) { c.border = 0x0 }; if (c.id == undefined) { c.id = 'jBox_' + Math.floor(Math.random() * 0xf4240) }; var d = (a.browser.msie && parseInt(a.browser.version) < 0x7); var e = a('#' + c.id); if (e.length > 0x0) { c.zIndex = a.jBox.defaults.zIndex++; e.css({ zIndex : c.zIndex }); e.find('#jbox').css({ zIndex : c.zIndex + 0x1 }); return e }; var f = { url : '', type : '', html : '', isObject : b.constructor == Object }; if (!f.isObject) { b = b + ''; var N = b.toLowerCase(); if (N.indexOf('id:') == 0x0) f.type = 'ID'; else if (N.indexOf('get:') == 0x0) f.type = 'GET'; else if (N.indexOf('post:') == 0x0) f.type = 'POST'; else if (N.indexOf('iframe:') == 0x0) f.type = 'IFRAME'; else if (N.indexOf('html:') == 0x0) f.type = 'HTML'; else { b = 'html:' + b; f.type = 'HTML' }; b = b.substring(b.indexOf(":") + 0x1, b.length) }; if (!c.isTip && !c.isMessager && !c.showScrolling) { a(a.browser.msie ? 'body' : 'body').attr('style', 'overflow:hidden;padding-right:17px;') }; var g = !c.isTip && !(c.title == undefined); var h = f.type == 'GET' || f.type == 'POST' || f.type == 'IFRAME'; var i = typeof c.width == 'number' ? (c.width - 0x32) + 'px' : "90%"; var j = []; // 解决框架内object和applet被遮住问题 var fade = function(iframe, callback){ iframe.each(function(){ var ifr = a(this).contents(); if (ifr.find('object, applet').length > 0){ var mf = a('#mainFrame') var mt = mf.offset()?mf.offset().top:0; var ml = mf.offset()?mf.offset().left:0; var tt = a(this).offset().top; var tl = a(this).offset().left; var top = mt == tt ? mt : mt + tt; var left = ml == tl ? ml : ml + tl; callback(a(this), ifr, top, left); } if (ifr.find("iframe").length > 0){ fade(ifr.find("iframe"), callback); } }); }; j.push('
'); var iframeA = ''; if (c.showFade) { if ((d && a('iframe').length > 0x0) || a('object, applet').length > 0x0) { //j.push(''); j.push(iframeA + 'jbox-fade' + iframeB); } else { if (d) { a('select').css('visibility', 'hidden') }; j.push('
'); } // 解决框架内object和applet被遮住问题 fade(a('iframe'), function(obj, ifr){ ifr.find('body').append(iframeA + 'jbox-fade' + iframeB); }); }else{ // 解决框架内object和applet被遮住问题 fade(a('body, iframe'), function(obj, ifr){ ifr.find('body').append(iframeA + 'jbox-fade2' + iframeB); }); }; j.push('
'); if (c.draggable) { j.push('') }; j.push('
'); j.push(''); j.push(''); j.push(''); if (c.border > 0x0) { j.push(''); j.push(''); j.push(''); j.push(''); j.push('') }; j.push(''); j.push(''); j.push(''); j.push(''); j.push(''); if (c.border > 0x0) { j.push(''); j.push(''); j.push(''); j.push(''); j.push('') }; j.push('
'); j.push('
'); j.push(''); if (g) { j.push('
'); j.push('
' + (c.title == '' ? ' ' : c.title) + '
'); j.push('
') }; j.push('
'); j.push(''); j.push('
'); j.push('
'); j.push('
'); var k = '
'; var l = a(window); var m = a(document.body); var n = a(j.join('')).appendTo(m); var o = n.children('#jbox'); var p = n.children('#jbox-fade'); var q = n.children('#jbox-temp'); if (!f.isObject) { switch (f.type) { case "ID": f.html = a('#' + b).html(); break; case "GET": case "POST": f.html = ''; f.url = b; break; case "HTML": f.html = b; break; case "IFRAME": f.html = k if (b.indexOf('#') == -0x1) { f.url = b + (b.indexOf('?') == -0x1 ? '?___t' : '&___t') + Math.random() } else { var N = b.split('#'); f.url = N[0x0] + (N[0x0].indexOf('?') == -0x1 ? '?___t' : '&___t') + Math.random() + '#' + N[0x1] }; break }; b = { state0 : { content : f.html, buttons : c.buttons, buttonsFocus : c.buttonsFocus, submit : c.submit } } }; var r = []; var s = o.find('.jbox-help-title').outerHeight(true); var t = o.find('.jbox-help-button').outerHeight(true); var u = a.browser.msie ? 'line-height:19px;padding:0px 6px 0px 6px;' : 'padding:0px 10px 0px 10px;'; a.each(b, function (N, O) { if (f.isObject) { O = a.extend({}, a.jBox.stateDefaults, O) }; b[N] = O; if (O.buttons == undefined) { O.buttons = {} }; var P = false; a.each(O.buttons, function (T, U) { P = true }); var Q = 'auto'; if (typeof c.height == 'number') { Q = c.height; if (g) { Q = Q - s }; if (P) { Q = Q - t }; Q = (Q - 0x1) + 'px' }; var R = ''; var S = '25px'; if (!f.isObject && h) { var T = c.height; if (typeof c.height == 'number') { if (g) { T = T - s }; if (P) { T = T - t }; S = ((T / 0x5) * 0x2) + 'px'; T = (T - 0x1) + 'px' }; R = ['
', '
', '
'].join('') }; r.push('') }); o.find('#jbox-states').html(r.join('')).children('.jbox-state:first').css('display', 'block'); if (h) { var N = o.find('#jbox-content').css({ position : (d) ? "absolute" : "fixed", left : -0x2710 }) }; a.each(b, function (N, O) { var P = o.find('#jbox-state-' + N); P.children('.jbox-button-panel').children('button').click(function () { var Q = P.find('#jbox-content'); var R = O.buttons[a(this).text()]; var S = {}; a.each(o.find('#jbox-states :input').serializeArray(), function (U, V) { if (S[V.name] === undefined) { S[V.name] = V.value } else if (typeof S[V.name] == Array) { S[V.name].push(V.value) } else { S[V.name] = [S[V.name], V.value] } }); var T = O.submit(R, Q, S); if (T === undefined || T) { I() } }).bind('mousedown', function () { a(this).addClass('jbox-button-active') }).bind('mouseup', function () { a(this).removeClass('jbox-button-active') }).bind('mouseover', function () { a(this).addClass('jbox-button-hover') }).bind('mouseout', function () { a(this).removeClass('jbox-button-active').removeClass('jbox-button-hover') }); P.find('.jbox-button-panel button:eq(' + O.buttonsFocus + ')').addClass('jbox-button-focus') }); var v = function () { n.css({ top : l.scrollTop() }); if (c.isMessager) { o.css({ position : (d) ? "absolute" : "fixed", right : 0x1, bottom : 0x1 }) } }; var w = function () { var N = l.width(); return document.body.clientWidth < N ? N : document.body.clientWidth }; var x = function () { var N = l.height(); return document.body.clientHeight < N ? N : document.body.clientHeight }; var y = function () { if (!c.showFade) { return }; if (c.persistent) { var N = 0x0; n.addClass('jbox-warning'); var O = setInterval(function () { n.toggleClass('jbox-warning'); if (N++ > 0x1) { clearInterval(O); n.removeClass('jbox-warning') } }, 0x64) } else { I() } }; var z = function (N) { if (c.isTip || c.isMessager) { return false }; var O = (window.event) ? event.keyCode : N.keyCode; if (O == 0x1b) { I() }; if (O == 0x9) { var P = a(':input:enabled:visible', n); var Q = !N.shiftKey && N.target == P[P.length - 0x1]; var R = N.shiftKey && N.target == P[0x0]; if (Q || R) { setTimeout(function () { if (!P) return; var S = P[R === true ? P.length - 0x1 : 0x0]; if (S) S.focus() }, 0xa); return false } } }; var A = function () { if (c.showFade) { p.css({ position : "absolute", height : c.isTip ? x() : l.height(), width : d ? l.width() : "100%", top : 0x0, left : 0x0, right : 0x0, bottom : 0x0 }); } // 解决框架内object和applet被遮住问题 fade(a('body, iframe'), function(obj, ifr, top, left){ ifr.find('#jbox-fade'+(c.showFade?'':'2')).css({ position : "absolute", height : o.height(), width : o.width(), top : o.offset().top - top, left : o.offset().left - left, right : 0x0, bottom : 0x0, zIndex : c.zIndex, opacity : 0//c.opacity }); }); }; var B = function () { if (c.isMessager) { o.css({ position : (d) ? "absolute" : "fixed", right : 0x1, bottom : 0x1 }) } else { //q.css({ // top : c.top //}); var top = ((l.height() - o.outerHeight()) / 2 - 20); q.css({ top: top >= 0 ? top : 0 }); o.css({ position : "absolute", top : q.offset().top + (c.isTip ? l.scrollTop() : 0x0), left : ((l.width() - o.outerWidth()) / 0x2) }) }; if ((c.showFade && !c.isTip) || (!c.showFade && !c.isTip && !c.isMessager)) { n.css({ position : (d) ? "absolute" : "fixed", height : c.showFade ? l.height() : 0x0, width : "100%", top : (d) ? l.scrollTop() : 0x0, left : 0x0, right : 0x0, bottom : 0x0 }) }; A() }; var C = function () { c.zIndex = a.jBox.defaults.zIndex++; n.css({ zIndex : c.zIndex }); o.css({ zIndex : c.zIndex + 0x1 }) }; var D = function () { c.zIndex = a.jBox.defaults.zIndex++; n.css({ zIndex : c.zIndex }); o.css({ display : "none", zIndex : c.zIndex + 0x1 }); if (c.showFade) { p.css({ display : "none", zIndex : c.zIndex, opacity : c.opacity }) } }; var E = function (N) { var O = N.data; O.target.find('iframe').hide(); if (c.dragClone) { O.target.prev().css({ left : O.target.css('left'), top : O.target.css('top'), marginLeft : -0x2, marginTop : -0x2, width : O.target.width() + 0x2, height : O.target.height() + 0x2 }).show() }; return false }; var F = function (N) { var O = N.data; var P = O.startLeft + N.pageX - O.startX; var Q = O.startTop + N.pageY - O.startY; if (c.dragLimit) { var R = 0x1; var S = document.documentElement.clientHeight - N.data.target.height() - 0x1; var T = 0x1; var U = document.documentElement.clientWidth - N.data.target.width() - 0x1; if (Q < R) Q = R + (c.dragClone ? 0x2 : 0x0); if (Q > S) Q = S - (c.dragClone ? 0x2 : 0x0); if (P < T) P = T + (c.dragClone ? 0x2 : 0x0); if (P > U) P = U - (c.dragClone ? 0x2 : 0x0) }; if (c.dragClone) { O.target.prev().css({ left : P, top : Q }) } else { O.target.css({ left : P, top : Q }) // 解决框架内object和applet被遮住问题 fade(a('body, iframe'), function(obj, ifr, top, left){ if (ifr.find('object, applet').length > 0x0){ ifr.find('#jbox-fade').css({ left : P - left, top : Q - top }); } }); }; return false }; var G = function (N) { a(document).unbind('.draggable'); if (c.dragClone) { var O = N.data.target.prev().hide(); N.data.target.css({ left : O.css('left'), top : O.css('top') }).find('iframe').show() } else { N.data.target.find('iframe').show() }; return false }; var H = function (N) { var O = N.data.target.position(); var P = { target : N.data.target, startX : N.pageX, startY : N.pageY, startLeft : O.left, startTop : O.top }; a(document).bind('mousedown.draggable', P, E).bind('mousemove.draggable', P, F).bind('mouseup.draggable', P, G) }; var I = function () { if (!c.isTip && !c.isMessager) { if (a('.jbox-body').length == 0x1) { a(a.browser.msie ? 'body' : 'body').removeAttr('style') }; J(); // 解决框架内object和applet被遮住问题 fade(a('body, iframe'), function(obj, ifr){ if (ifr.find('object, applet').length > 0x0){ ifr.find('#jbox-fade').remove(); } }); } else { if (c.isTip) { var tip = a(document.body).data('tip'); if (tip && tip.next == true) { q.css('top', tip.options.top); var N = q.offset().top + l.scrollTop(); if (N == o.offset().top) { J() } else { o.find('#jbox-content').html(tip.options.content.substr(0x5)).end().css({ left : ((l.width() - o.outerWidth()) / 0x2) }).animate({ top : N, opacity : 0.1 }, 0x1f4, J); } } else { o.animate({ top : '-=200', opacity : 0x0 }, 0x1f4, J); // 解决框架内object和applet被遮住问题 fade(a('body, iframe'), function(obj, ifr){ if (ifr.find('object, applet').length > 0x0){ ifr.find('#jbox-fade2').animate({ top : '-=200', opacity : 0x0 }, 0x1f4, J); } }); } } else { switch (c.showType) { case 'slide': o.slideUp(c.showSpeed, J); break; case 'fade': o.fadeOut(c.showSpeed, J); break; case 'show': default: o.hide(c.showSpeed, J); break } } } }; var J = function () { l.unbind('resize', A); if (c.draggable && !c.isTip && !c.isMessager) { o.find('.jbox-title-panel').unbind('mousedown', H) }; if (f.type != 'IFRAME') { o.find('#jbox-iframe').attr({ 'src' : 'about:blank' }) }; o.html('').remove(); if (d && !c.isTip) { m.unbind('scroll', v) }; if (c.showFade) { p.fadeOut('fast', function () { p.unbind('click', y).unbind('mousedown', C).html('').remove() }) }; n.unbind('keydown keypress', z).html('').remove(); if (d && c.showFade) { a('select').css('visibility', 'visible') }; if (typeof c.closed == 'function') { c.closed() } }; var K = function () { if (c.timeout > 0x0) { o.data('autoClosing', window.setTimeout(I, c.timeout)); if (c.isMessager) { o.hover(function () { window.clearTimeout(o.data('autoClosing')) }, function () { o.data('autoClosing', window.setTimeout(I, c.timeout)) }) } } }; var L = function () { if (typeof c.loaded == 'function') { c.loaded(o.find('.jbox-state:visible').find('.jbox-content')) } }; if (!f.isObject) { switch (f.type) { case "GET": case "POST": a.ajax({ type : f.type, url : f.url, data : c.ajaxData == undefined ? {} : c.ajaxData, dataType : 'html', cache : false, success : function (N, O) { o.find('#jbox-content').css({ position : "static" }).html(N).show().prev().hide(); L() }, error : function () { o.find('#jbox-content-loading').html('
Loading Error.
') } }); break; case "IFRAME": o.find('#jbox-iframe').attr({'src' : f.url}).bind("load", function (N) { a(this).parent().css({ position : "static" }).show().prev().hide(); o.find('#jbox-states .jbox-state:first .jbox-button-focus').focus(); L() }); // post方式提交iframe var jboxIframeForm = o.find('#jbox-iframe-form-'+c.id); jboxIframeForm.attr('action', f.url); if (c.ajaxData != undefined){ for(var x in c.ajaxData){ jboxIframeForm.append(''); } } jboxIframeForm.submit(); break; default: o.find('#jbox-content').show(); break } }; B(); D(); if (d && !c.isTip) { l.scroll(v) }; if (c.showFade) { p.click(y) }; l.resize(A); n.bind('keydown keypress', z); o.find('.jbox-close').click(I); if (c.showFade) { p.fadeIn('fast') }; var M = 'show'; if (c.showType == 'slide') { M = 'slideDown' } else if (c.showType == 'fade') { M = 'fadeIn' }; if (c.isMessager) { o[M](c.showSpeed, K) } else { var tip = a(document.body).data('tip'); if (tip && tip.next == true) { a(document.body).data('tip', { next : false, options : {} }); o.css('display', '') } else { if (!f.isObject && h) { o[M](c.showSpeed) } else { o[M](c.showSpeed, L); } } }; if (!c.isTip) { o.find('.jbox-bottom-text').html(c.bottomText) } else { o.find('.jbox-container,.jbox-content').addClass('jbox-tip-color') }; if (f.type != 'IFRAME') { o.find('#jbox-states .jbox-state:first .jbox-button-focus').focus() } else { o.focus() }; if (!c.isMessager) { K() }; n.bind('mousedown', C); if (c.draggable && !c.isTip && !c.isMessager) { o.find('.jbox-title-panel').bind('mousedown', { target : o }, H).css('cursor', 'move') }; return n }; a.jBox.version = 2.3; a.jBox.defaults = { id : null, top : "15%", zIndex : 0x7c0, border : 0x5, opacity : 0.1, timeout : 0x0, showType : 'fade', showSpeed : 'fast', showIcon : true, showClose : true, draggable : true, dragLimit : true, dragClone : false, persistent : true, showScrolling : true, ajaxData : {}, iframeScrolling : 'auto', title : 'jBox', width : 0x15e, height : 'auto', bottomText : '', buttons : { '确定' : 'ok' }, buttonsFocus : 0x0, loaded : function (b) {}, submit : function (b, c, d) { return true }, closed : function () {} }; a.jBox.stateDefaults = { content : '', buttons : { '确定' : 'ok' }, buttonsFocus : 0x0, submit : function (b, c, d) { return true } }; a.jBox.tipDefaults = { content : '', icon : 'info', top : '40%', width : 'auto', height : 'auto', opacity : 0x0, timeout : 0xbb8, closed : function () {} }; a.jBox.messagerDefaults = { content : '', title : 'jBox', icon : 'none', width : 0x15e, height : 'auto', timeout : 0xbb8, showType : 'slide', showSpeed : 0x258, border : 0x0, buttons : {}, buttonsFocus : 0x0, loaded : function () {}, submit : function (b, c, d) { return true }, closed : function () {} }; a.jBox.languageDefaults = { close : '关闭', ok : '确定', yes : '是', no : '否', cancel : '取消' }; a.jBox.setDefaults = function (b) { a.jBox.defaults = a.extend({}, a.jBox.defaults, b.defaults); a.jBox.stateDefaults = a.extend({}, a.jBox.stateDefaults, b.stateDefaults); a.jBox.tipDefaults = a.extend({}, a.jBox.tipDefaults, b.tipDefaults); a.jBox.messagerDefaults = a.extend({}, a.jBox.messagerDefaults, b.messagerDefaults); a.jBox.languageDefaults = a.extend({}, a.jBox.languageDefaults, b.languageDefaults) }; a.jBox.getBox = function () { return a('.jbox-body').eq(a('.jbox-body').length - 0x1) }; a.jBox.getIframe = function (b) { var c = (typeof b == 'string') ? a('#' + b) : a.jBox.getBox(); return c.find('#jbox-iframe').get(0x0) }; a.jBox.getContent = function () { return a.jBox.getState().find('.jbox-content').html() }; a.jBox.setContent = function (b) { return a.jBox.getState().find('.jbox-content').html(b) }; a.jBox.getState = function (b) { if (b == undefined) { return a.jBox.getBox().find('.jbox-state:visible') } else { return a.jBox.getBox().find('#jbox-state-' + b) } }; a.jBox.getStateName = function () { return a.jBox.getState().attr('id').replace('jbox-state-', '') }; a.jBox.goToState = function (b, c) { var d = a.jBox.getBox(); if (d != undefined && d != null) { var e; b = b || false; d.find('.jbox-state').slideUp('fast'); if (typeof b == 'string') { e = d.find('#jbox-state-' + b) } else { e = b ? d.find('.jbox-state:visible').next() : d.find('.jbox-state:visible').prev() }; e.slideDown(0x15e, function () { window.setTimeout(function () { e.find('.jbox-button-focus').focus(); if (c != undefined) { e.find('.jbox-content').html(c) } }, 0x14) }) } }; a.jBox.nextState = function (b) { a.jBox.goToState(true, b) }; a.jBox.prevState = function (b) { a.jBox.goToState(false, b) }; a.jBox.close = function (b, c) { b = b || false; c = c || 'body'; if (typeof b == 'string') { a('#' + b).find('.jbox-close').click() } else { var d = a('.jbox-' + c); if (b) { for (var e = 0x0, l = d.length; e < l; ++e) { d.eq(e).find('.jbox-close').click() } } else { if (d.length > 0x0) { d.eq(d.length - 0x1).find('.jbox-close').click() } } } }; a.jBox.open = function (b, c, d, e, f) { var defaults = { content : b, title : c, width : d, height : e }; f = a.extend({}, defaults, f); f = a.extend({}, a.jBox.defaults, f); a.jBox(f.content, f) }; a.jBox.prompt = function (b, c, d, e) { var defaults = { content : b, title : c, icon : d, buttons : eval('({ "' + a.jBox.languageDefaults.ok + '": "ok" })') }; e = a.extend({}, defaults, e); e = a.extend({}, a.jBox.defaults, e); if (e.border < 0x0) { e.border = 0x0 }; if (e.icon != 'info' && e.icon != 'warning' && e.icon != 'success' && e.icon != 'error' && e.icon != 'question') { padding = ''; e.icon = 'none' }; var f = e.title == undefined ? 0xa : 0x23; var g = e.icon == 'none' ? 'height:auto;' : 'min-height:30px;' + ((a.browser.msie && parseInt(a.browser.version) < 0x7) ? 'height:auto !important;height:100%;_height:30px;' : 'height:auto;'); var h = []; h.push('html:'); h.push('
'); h.push(''); h.push(e.content); h.push('
'); e.content = h.join(''); a.jBox(e.content, e) }; a.jBox.alert = function (b, c, d) { a.jBox.prompt(b, c, 'none', d) }; a.jBox.info = function (b, c, d) { a.jBox.prompt(b, c, 'info', d) }; a.jBox.success = function (b, c, d) { a.jBox.prompt(b, c, 'success', d) }; a.jBox.error = function (b, c, d) { a.jBox.prompt(b, c, 'error', d) }; a.jBox.confirm = function (b, c, d, e) { var defaults = { buttons : eval('({ "' + a.jBox.languageDefaults.ok + '": "ok", "' + a.jBox.languageDefaults.cancel + '": "cancel" })') }; if (d != undefined && typeof d == 'function') { defaults.submit = d } else { defaults.submit = function (f, g, h) { return true } }; e = a.extend({}, defaults, e); a.jBox.prompt(b, c, 'question', e) }; a.jBox.warning = function (b, c, d, e) { var defaults = { buttons : eval('({ "' + a.jBox.languageDefaults.yes + '": "yes", "' + a.jBox.languageDefaults.no + '": "no", "' + a.jBox.languageDefaults.cancel + '": "cancel" })') }; if (d != undefined && typeof d == 'function') { defaults.submit = d } else { defaults.submit = function (f, g, h) { return true } }; e = a.extend({}, defaults, e); a.jBox.prompt(b, c, 'warning', e) }; a.jBox.tip = function (b, c, d) { var defaults = { content : b, icon : c, opacity : 0x0, border : 0x0, showClose : false, buttons : {}, isTip : true }; if (defaults.icon == 'loading') { defaults.timeout = 0x0; defaults.opacity = 0.1 }; d = a.extend({}, defaults, d); d = a.extend({}, a.jBox.tipDefaults, d); d = a.extend({}, a.jBox.defaults, d); if (d.timeout < 0x0) { d.timeout = 0x0 }; if (d.border < 0x0) { d.border = 0x0 }; if (d.icon != 'info' && d.icon != 'warning' && d.icon != 'success' && d.icon != 'error' && d.icon != 'loading') { d.icon = 'info' }; var e = []; e.push('html:'); e.push('
'); e.push(''); e.push(d.content); e.push('
'); d.content = e.join(''); if (a('.jbox-tip').length > 0x0) { a(document.body).data('tip', { next : true, options : d }); a.jBox.closeTip() }; if (d.focusId != undefined) { a('#' + d.focusId).focus(); top.$('#' + d.focusId).focus() }; a.jBox(d.content, d) }; a.jBox.closeTip = function () { a.jBox.close(false, 'tip') }; a.jBox.messager = function (b, c, d, e) { a.jBox.closeMessager(); var defaults = { content : b, title : c, timeout : (d == undefined ? a.jBox.messagerDefaults.timeout : d), opacity : 0x0, showClose : true, draggable : false, isMessager : true }; e = a.extend({}, defaults, e); e = a.extend({}, a.jBox.messagerDefaults, e); var f = a.extend({}, a.jBox.defaults, {}); f.title = null; e = a.extend({}, f, e); if (e.border < 0x0) { e.border = 0x0 }; if (e.icon != 'info' && e.icon != 'warning' && e.icon != 'success' && e.icon != 'error' && e.icon != 'question') { padding = ''; e.icon = 'none' }; var g = e.title == undefined ? 0xa : 0x23; var h = e.icon == 'none' ? 'height:auto;' : 'min-height:30px;' + ((a.browser.msie && parseInt(a.browser.version) < 0x7) ? 'height:auto !important;height:100%;_height:30px;' : 'height:auto;'); var i = []; i.push('html:'); i.push('
'); i.push(''); i.push(e.content); i.push('
'); e.content = i.join(''); a.jBox(e.content, e) }; a.jBox.closeMessager = function () { a.jBox.close(false, 'messager') }; window.jBox = a.jBox })(jQuery); /* jBox 全局设置 */ var jBoxConfig = {}; jBoxConfig.defaults = { id: null, /* 在页面中的唯一id,如果为null则自动生成随机id,一个id只会显示一个jBox */ top: '15%', /* 窗口离顶部的距离,可以是百分比或像素(如 '100px') */ border: 5, /* 窗口的外边框像素大小,必须是0以上的整数 */ opacity: 0.05, /* 窗口隔离层的透明度,如果设置为0,则不显示隔离层 */ timeout: 0, /* 窗口显示多少毫秒后自动关闭,如果设置为0,则不自动关闭 */ showType: 'fade', /* 窗口显示的类型,可选值有:show、fade、slide */ showSpeed: 'fast', /* 窗口显示的速度,可选值有:'slow'、'fast'、表示毫秒的整数 */ showIcon: false, /* 是否显示窗口标题的图标,true显示,false不显示,或自定义的CSS样式类名(以为图标为背景) */ showClose: true, /* 是否显示窗口右上角的关闭按钮 */ draggable: true, /* 是否可以拖动窗口 */ dragLimit: false, /* 在可以拖动窗口的情况下,是否限制在可视范围 */ dragClone: false, /* 在可以拖动窗口的情况下,鼠标按下时窗口是否克隆窗口 */ persistent: false, /* 在显示隔离层的情况下,点击隔离层时,是否坚持窗口不关闭 */ showScrolling: true, /* 是否显示浏览的滚动条 */ ajaxData: {}, /* 在窗口内容使用get:或post:前缀标识的情况下,ajax post的数据,例如:{ id: 1 } 或 "id=1" */ iframeScrolling: 'auto', /* 在窗口内容使用iframe:前缀标识的情况下,iframe的scrolling属性值,可选值有:'auto'、'yes'、'no' */ title: ' 消息', /* 窗口的标题 */ width: 350, /* 窗口的宽度,值为'auto'或表示像素的整数 */ height: 'auto', /* 窗口的高度,值为'auto'或表示像素的整数 */ bottomText: '', /* 窗口的按钮左边的内容,当没有按钮时此设置无效 */ buttons: { '确定': 'ok' }, /* 窗口的按钮 */ buttonsFocus: 0, /* 表示第几个按钮为默认按钮,索引从0开始 */ loaded: function (h) { }, /* 窗口加载完成后执行的函数,需要注意的是,如果是ajax或iframe也是要等加载完http请求才算窗口加载完成,参数h表示窗口内容的jQuery对象 */ submit: function (v, h, f) { return true; }, /* 点击窗口按钮后的回调函数,返回true时表示关闭窗口,参数有三个,v表示所点的按钮的返回值,h表示窗口内容的jQuery对象,f表示窗口内容里的form表单键值 */ closed: function () { } /* 窗口关闭后执行的函数 */ }; jBoxConfig.stateDefaults = { content: '', /* 状态的内容,不支持前缀标识 */ buttons: { '确定': 'ok' }, /* 状态的按钮 */ buttonsFocus: 0, /* 表示第几个按钮为默认按钮,索引从0开始 */ submit: function (v, h, f) { return true; } /* 点击状态按钮后的回调函数,返回true时表示关闭窗口,参数有三个,v表示所点的按钮的返回值,h表示窗口内容的jQuery对象,f表示窗口内容里的form表单键值 */ }; jBoxConfig.tipDefaults = { content: '', /* 提示的内容,不支持前缀标识 */ icon: 'info', /* 提示的图标,可选值有'info'、'success'、'warning'、'error'、'loading',默认值为'info',当为'loading'时,timeout值会被设置为0,表示不会自动关闭。 */ top: '40%', /* 提示离顶部的距离,可以是百分比或像素(如 '100px') */ width: 'auto', /* 提示的高度,值为'auto'或表示像素的整数 */ height: 'auto', /* 提示的高度,值为'auto'或表示像素的整数 */ opacity: 0, /* 窗口隔离层的透明度,如果设置为0,则不显示隔离层 */ timeout: 3000, /* 提示显示多少毫秒后自动关闭,必须是大于0的整数 */ closed: function () { } /* 提示关闭后执行的函数 */ }; jBoxConfig.messagerDefaults = { content: '', /* 信息的内容,不支持前缀标识 */ title: 'jBox', /* 信息的标题 */ icon: 'none', /* 信息图标,值为'none'时为不显示图标,可选值有'none'、'info'、'question'、'success'、'warning'、'error' */ width: 350, /* 信息的高度,值为'auto'或表示像素的整数 */ height: 'auto', /* 信息的高度,值为'auto'或表示像素的整数 */ timeout: 3000, /* 信息显示多少毫秒后自动关闭,如果设置为0,则不自动关闭 */ showType: 'slide', /* 信息显示的类型,可选值有:show、fade、slide */ showSpeed: 600, /* 信息显示的速度,可选值有:'slow'、'fast'、表示毫秒的整数 */ border: 0, /* 信息的外边框像素大小,必须是0以上的整数 */ buttons: {}, /* 信息的按钮 */ buttonsFocus: 0, /* 表示第几个按钮为默认按钮,索引从0开始 */ loaded: function (h) { }, /* 窗口加载完成后执行的函数,参数h表示窗口内容的jQuery对象 */ submit: function (v, h, f) { return true; }, /* 点击信息按钮后的回调函数,返回true时表示关闭窗口,参数有三个,v表示所点的按钮的返回值,h表示窗口内容的jQuery对象,f表示窗口内容里的form表单键值 */ closed: function () { } /* 信息关闭后执行的函数 */ }; jBoxConfig.languageDefaults = { close: '关闭', /* 窗口右上角关闭按钮提示 */ ok: '确定', /* $.jBox.prompt() 系列方法的“确定”按钮文字 */ yes: '是', /* $.jBox.warning() 方法的“是”按钮文字 */ no: '否', /* $.jBox.warning() 方法的“否”按钮文字 */ cancel: '取消' /* $.jBox.confirm() 和 $.jBox.warning() 方法的“取消”按钮文字 */ }; $.jBox.setDefaults(jBoxConfig);