php jquery alert 美化,基于jquery ui的alert,confirm方案(支持换肤)_jquery

实现功能:

1.修改标题样式。把jquery ui的标题样式放上去。支持换肤。

2.修改按钮样式,换成jqueryui的button按钮样式。

3.将模式化窗口的背景换成了jqueryui的模式化背景。

代码:

//首先要引入jquery,以及ui的包和皮肤的样式如:

(function($) {

$.alerts = {

// These properties can be read/written by accessing $.alerts.propertyName from your scripts at any time

verticalOffset: -75, // vertical offset of the dialog from center screen, in pixels

horizontalOffset: 0, // horizontal offset of the dialog from center screen, in pixels/

repositionOnResize: true, // re-centers the dialog on window resize

overlayOpacity: .01, // transparency level of overlay

overlayColor: '#FFF', // base color of overlay

draggable: true, // make the dialogs draggable (requires UI Draggables plugin)

okButton: ' 确认 ', // text for the OK button

cancelButton: ' 取消 ', // text for the Cancel button

dialogClass: null, // if specified, this class will be applied to all dialogs

// Public methods

alert: function(message, title, callback) {

if( title == null ) title = 'Alert';

$.alerts._show(title, message, null, 'alert', function(result) {

if( callback ) callback(result);

});

},

confirm: function(message, title, callback) {

if( title == null ) title = 'Confirm';

$.alerts._show(title, message, null, 'confirm', function(result) {

if( callback ) callback(result);

});

},

prompt: function(message, value, title, callback) {

if( title == null ) title = 'Prompt';

$.alerts._show(title, message, value, 'prompt', function(result) {

if( callback ) callback(result);

});

},

// Private methods

_show: function(title, msg, value, type, callback) {

$.alerts._hide();

$.alerts._overlay('show');

$("BODY").append(

'

' +

'

' +

'

' +

'

' +

'' +

'');

if( $.alerts.dialogClass ) $("#popup_container").addClass($.alerts.dialogClass);

// IE6 Fix

//var pos = ($.browser.msie && parseInt($.browser.version) <= 6 ) ? 'absolute' : 'fixed';

var pos = ('undefined' == typeof (document.body.style.maxHeight)) ? 'absolute' : 'fixed';

$("#popup_container").css({

position: pos,

zIndex: 99999,

padding: 0,

margin: 0

});

$("#popup_title").text(title);

$("#popup_content").addClass(type);

$("#popup_message").text(msg);

$("#popup_message").html( $("#popup_message").text().replace(/\n/g, '

') );

$("#popup_container").css({

minWidth: $("#popup_container").outerWidth(),

maxWidth: $("#popup_container").outerWidth()

});

$.alerts._reposition();

$.alerts._maintainPosition(true);

switch( type ) {

case 'alert':

$("#popup_message").after('

');

$("#popup_ok").click( function() {

$.alerts._hide();

callback(true);

});

$("#popup_ok").focus().keypress( function(e) {

if( e.keyCode == 13 || e.keyCode == 27 ) $("#popup_ok").trigger('click');

});

break;

case 'confirm':

$("#popup_message").after('

');

$("#popup_ok").click( function() {

$.alerts._hide();

if( callback ) callback(true);

});

$("#popup_cancel").click( function() {

$.alerts._hide();

if( callback ) callback(false);

});

$("#popup_ok").focus();

$("#popup_ok, #popup_cancel").keypress( function(e) {

if( e.keyCode == 13 ) $("#popup_ok").trigger('click');

if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');

});

break;

case 'prompt':

$("#popup_message").append('

').after('

');

$("#popup_prompt").width( $("#popup_message").width() );

$("#popup_ok").click( function() {

var val = $("#popup_prompt").val();

$.alerts._hide();

if( callback ) callback( val );

});

$("#popup_cancel").click( function() {

$.alerts._hide();

if( callback ) callback( null );

});

$("#popup_prompt, #popup_ok, #popup_cancel").keypress( function(e) {

if( e.keyCode == 13 ) $("#popup_ok").trigger('click');

if( e.keyCode == 27 ) $("#popup_cancel").trigger('click');

});

if( value ) $("#popup_prompt").val(value);

$("#popup_prompt").focus().select();

break;

}

// Make draggable

if( $.alerts.draggable ) {

try {

$("#popup_container").draggable({ handle: $("#popup_title") });

$("#popup_title").css({ cursor: 'move' });

} catch(e) { /* requires jQuery UI draggables */ }

}

},

_hide: function() {

$("#popup_container").remove();

$.alerts._overlay('hide');

$.alerts._maintainPosition(false);

},

_overlay: function(status) {

switch( status ) {

case 'show':

$.alerts._overlay('hide');

$("BODY").append('

');

break;

case 'hide':

$("#popup_overlay").remove();

break;

}

},

_reposition: function() {

var top = (($(window).height() / 2) - ($("#popup_container").outerHeight() / 2)) + $.alerts.verticalOffset;

var left = (($(window).width() / 2) - ($("#popup_container").outerWidth() / 2)) + $.alerts.horizontalOffset;

if( top < 0 ) top = 0;

if( left < 0 ) left = 0;

// IE6 fix

if ('undefined' == typeof (document.body.style.maxHeight)) top = top + $(window).scrollTop();

$("#popup_container").css({

top: top + 'px',

left: left + 'px'

});

},

_maintainPosition: function(status) {

if( $.alerts.repositionOnResize ) {

switch(status) {

case true:

$(window).bind('resize', function() {

$.alerts._reposition();

});

break;

case false:

$(window).unbind('resize');

break;

}

}

}

}

// Shortuct functions

jAlert = function(message, title, callback) {

$.alerts.alert(message, title, callback);

}

jConfirm = function(message, title, callback) {

$.alerts.confirm(message, title, callback);

};

jPrompt = function(message, value, title, callback) {

$.alerts.prompt(message, value, title, callback);

};

})(jQuery);

//使用方法

以上所述就是本文的全部内容了,希望大家能够喜欢。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值