Auto compile Javascript with Closure
Talk0
1,599pages on
this wiki
this wiki
Revision as of 06:03, September 15, 2012 by 187.194.41.234 (Talk)
/*
* FBModal 1.0.0 - jQuery Plugin * http://www.rrpowered.com/FBModal * Copyright (C) 2010 Barrett Palmer (http://www.rrpowred.com). * Permission is granted to copy, distribute and/or modify this document * under the terms of the GNU Free Documentation License, Version 1.3 * or any later version published by the Free Software Foundation; * with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. * A copy of the license is included in the section entitled "GNU * Free Documentation License" * * * FBModal is a FaceBook replica modal dialog * * only one modal dialog can be created at a time. * * * @example $(".YOURDIV").fbmodal({options}); * * FBModal default options * * title: "YOUR TITLE HERE", Dialog title text * cancel: "Cancel", Cancel button text * okay: "Okay", Okay button text * okaybutton: true, show the ok button * cancelbutton: true, Show the cancel button * buttons: true, Show the buttons * opacity: 0.0, The opacity value for the overlay div, from 0.0 - 100.0 * fadeout: true, When dialog is closed fade out * overlayclose: true, Allow click on overlay to close the dialog? * modaltop: "30%", Position from top of page 0% - 100% or 0px - 99999px * modalwidth: "400" The width for the dialog container * }); * * SFBModal has been tested in the following browsers: * - IE 8 * - Firefox 2, 3 * - Safari 3, 4 * - Chrome 1, 2 * * @name FBModal * @type jQuery * @requires jQuery v1.4.2 * @cat Plugins/Windows and Overlays * @author Barrett Palmer (http://www.rrpowered.com) * @version 1.0.0 * */
(function($){ $.fn.fbmodal = function(options){
//Default values
var defaults = {
title: "FB Modal",
cancel: "Cancel",
okay: "Okay",
okaybutton: true,
cancelbutton: true,
buttons: true,
opacity: 0.0,
fadeout: true,
overlayclose: true,
modaltop: "30%",
modalwidth: ""
};
var options = $.extend(defaults, options);
var fbmodalHtml=' \
\
';
\
\
<tbody> \
\
\
| \ | ||
| \ | \
\
\
\
\
\
\
\
| \
\ |
| \ |
var preload = [ new Image(), new Image() ]
$('#fbmodal').find('.b:first, .bl, .br, .tl, .tr').each(function() {
preload.push(new Image())
preload.slice(-1).src = $(this).css('background-image').replace(/url\((.+)\)/, '$1')
})
var dat=this.html();
$("body").append(fbmodalHtml);
$('#fbmodal .content').
append('<img src="loading.gif"/>
');
$('#fbmodal').css("top",options.modaltop);
if(options.okaybutton == false || options.buttons == false){
$('#fbmodal #ok').hide();
}
if(options.cancelbutton == false || options.buttons == false){
$('#fbmodal #close').hide();
}
$('#fbmodal .title').append(options.title);
$('#fbmodal #okay').append(options.okay);
$('#fbmodal #cancel').append(options.cancel);
$('#fbmodal .content').append(dat).css("width",options.modalwidth);
$('#fbmodal .loading').remove();
$("body").append('');
$('#fbmodal_overlay').addClass("fbmodal_overlay").fadeTo(0,options.opacity);
fbWidth();
$(window).bind("resize", function(){
fbWidth();
});
function fbWidth(){
var windowWidth=$(window).width();
var fbmodalWidth=$("#fbmodal").width();
var fbWidth=windowWidth / 2 - fbmodalWidth / 2;
$("#fbmodal").css("left",fbWidth);
}
if(options.close == true){
if(options.fadeout == true){
$("#fbmodal").fadeOut( function(){
$("#fbmodal").remove();
$('#fbmodal_overlay').removeClass("fbmodal_overlay");
});
}else{
$("#fbmodal").remove();
$('#fbmodal_overlay').removeClass("fbmodal_overlay");
}
}
if(options.overlayclose == true){
var overlay="ok, #close, .fbmodal_hide"
}else{
var overlay="ok, #close"
}
$("#"+overlay).click( function(){
if(options.fadeout == true){
$("#fbmodal").fadeOut( function(){
$("#fbmodal").remove();
$('#fbmodal_overlay').removeClass("fbmodal_overlay");
});
}else{
$("#fbmodal").remove();
$('#fbmodal_overlay').removeClass("fbmodal_overlay");
}
});
} })(jQuery);