﻿(function() { $.fn.modalpop = function(options) { var defaults = { speed: 666, background: '/img/mask.png', closeHtml: '<img src="/img/close.png" alt="close" />', onInitialize: '', onFadeIn: '', onClosed: '' }; var options = $.extend(defaults, options); if ($('modalmask').length == 0) { $('body').prepend("<div id='modalmask' style='position:fixed;top:0;left:0;z-index:99;background:url(" + defaults.background + ") repeat;display:none'></div>"); $('#modalmask').prepend("<div id='modalclose' style='position:absolute;z-index:100;cursor:pointer;display:none;'>" + defaults.closeHtml + "</div>") } return this.each(function() { $(this).click(function() { if (defaults.onInitialize.length > 0) eval(defaults.onInitialize); var id = $(this).attr('href'); var winW = $(window).width(), winH = $(window).height(); var dynHeight = $(id).height(); if (dynHeight == 0) dynHeight = 560; var top = (winH - dynHeight) / 2.2; var left = (winW - $(id).width()) / 2; $('#modalmask').css('height', '100%').css('width', '100%'); $(id).css('top', top).css('left', left); if (defaults.onFadeIn.length > 0) eval(defaults.onFadeIn); $('#modalmask').fadeIn(defaults.speed); $(id).prepend($('#modalclose').css('left', -12).css('top', -12)).css('z-index', 100).fadeIn(defaults.speed / 2); $('#modalclose').fadeIn(defaults.speed / 2); return false }); $('#modalclose').click(function() { $('#modalclose').parent().fadeOut(defaults.speed).delay(defaults.speed / 2); $('#modalmask').fadeOut(defaults.speed / 2); $('#modalclose').fadeOut(defaults.speed / 2, function() { $('#modalmask').prepend($('#modalclose')); if (defaults.onClosed.length > 0) eval(defaults.onClosed) }); return false }) }) } })(jQuery);
