Utente:Samuele Papa/jquery-modal.js
Nota: dopo aver pubblicato, potrebbe essere necessario pulire la cache del proprio browser per vedere i cambiamenti.
- Firefox / Safari: tieni premuto il tasto delle maiuscole Shift e fai clic su Ricarica, oppure premi Ctrl-F5 o Ctrl-R (⌘-R su Mac)
- Google Chrome: premi Ctrl-Shift-R (⌘-Shift-R su un Mac)
- Internet Explorer / Edge: tieni premuto il tasto Ctrl e fai clic su Aggiorna, oppure premi Ctrl-F5
- Opera: premi Ctrl-F5.
/*
Autore: Samuele Papa
Nickname autore: Samuele Papa
Descrizione: Un plugin JQuery che permette la creazione di un modal. Necessita di CSS particolare.
Licenza: http://creativecommons.org/licenses/by-sa/3.0/deed.it Attribuzione - Condividi allo stesso modo 3.0 Unported (CC BY-SA 3.0)
*/
(function($){
$.fn.modal = function(options){
tdoptions = jQuery.extend ({
bgcolor: "rgba(255,255,255,0.3)",
outsideclose:1,
animate:1
}, options);
var modalid;
var open_space='<div class="open-space" style="width:100%;height:100%;background-color:'+tdoptions.bgcolor+';position:fixed;margin:0;padding:0;z-index:99999;top:0px;left:0px;right:0px;bottom:0px"></div>';
return this.each(function(){
modalid = $(this).attr('data-tdmodal-id');
console.log(modalid);
var tdmodal = function(){
contenuto=$('#'+modalid).html();
$('body').append(open_space);
$('.open-space')
.html('<div id="open-'+modalid+'" class="open-modal">'+contenuto+'</div>')
.live('click',function(e){
e.preventDefault();
if(tdoptions.outsideclose==1){
if($(e.target).hasClass('open-modal')||$(e.target).parents().hasClass('open-modal')){}else{
closem();
}
}
});
positions($('.open-space #open-'+modalid));
$('.open-modal .close').live('click',function(){
closem();
});
};
var positions = function(element) {
element.css("top", ( $(window).height() - element.outerHeight() ) / 2 + "px");
element.css("left", ( $(window).width() - element.outerWidth() ) / 2 + "px");
};
var closem = function(){
if(tdoptions.animate==1){
$('.open-space').animate({
opacity:0
},
100,function(){$('.open-space').remove()});
}else{
$('.open-space').remove();
}
};
tdmodal();
});
}
})(jQuery);