Revision: 59078
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 16, 2012 20:37 by p-baleine
Initial Code
(function() {
/**
* overlay element
*/
var mask = null;
/**
* create mask if it dose not exist
*/
function init() {
mask || (mask = $('<div />', { 'id': 'mask' }).appendTo('body'));
}
/**
* display modal
*/
function modal() {
mask.css({
'width': $(document).width(),
'height': $(document).height()
});
mask.fadeIn('fast');
}
/**
* display modal and open popup window
*/
function open() {
var popup = $(this),
win = $(window),
top = win.height() / 2 - popup.height() / 2,
left = win.width() / 2 - popup.width() / 2;
modal();
popup.css({
'top': top,
'left': left
});
popup.fadeIn('fast');
}
/**
* close modal and popup window
*/
function close() {
var popup = $(this);
popup.hide();
mask.hide();
}
/**
* initialize popup plugin or execute method
* // initialize
* var popup = $('#popup').popup();
* // open popup
* popup.popup('open');
*/
$.fn.popup = function() {
var methods = {
open: open,
close: close
},
m = methods[arguments[0]];
if (m) {
// method call
m.apply(this, arguments);
} else {
// initialization
init.apply(null, arguments);
}
return this;
};
}());
Initial URL
Initial Description
Another popup jQuery plugin implementation complying with YAGNI.
Initial Title
jQuery popup plugin
Initial Tags
plugin, jquery
Initial Language
JavaScript