- LorenZone.it – Elucubrazioni d'autore - https://www.lorenzone.it -

Overlayer con jQuery per le campagne pubblicitarie

L’overlayer è uno strumento di advertising basato su un div posizionato in primo piano e sovrapposto ai contenuti della pagina. Questa versione è basata su jQuery [1] e richiede il plugin jQuery.cookie [2] come requisito primario.

E’ possibile visualizzare la demo dello script in questa pagina [3].

L’implementazione è semplice e non richiede più di qualche minuto per la personalizzazione. Prima di tutto apriamo il file jquery.overlayer.js e modifichiamo le variabili principali:

/****************************/
/*	CONFIGURATION	    	*/
/****************************/
var ol_defaults = {
        ol_pagesdir   	        : 'http://www.sito.it/advertising/jquery.overlayer',
	ol_cssurl	 	: 'http://www.sito.it/advertising/jquery.overlayer/css',
	ol_imgdir	  	: 'http://www.sito.it/advertising/jquery.overlayer/img',
	ol_closetime		: '30 sec',
	ol_cookielife		: '20 min',
	ol_advpage		: 'overlayer.htm',
	ol_advwidth		: '400',
	ol_advheight		: '400',
	ol_id			: 'ol',
	ol_fadefx		: 'y',
	ol_speedfx		: 'fast',
	ol_imgname		: 'ol_close.png',
	ol_opacity		: 'y',
	ol_opacname		: 'opacity.png',
	ol_margintop		: '20',
	ol_maindomain		: 'n',
	ol_showborder		: 'y'
};
// set array to hide (visibility=hidden) some elements which may contain flash stuff
ol_hide_elem = new Array();
// set array to hide (display=none) some elements which may contain flash stuff
ol_none_elem = new Array();
// set main domain if you have some subdomains in the same site
ol_site_cookname = new Array();
/****************************/
/*	END CONFIGURATION   	*/
/****************************/

Analizziamo ogni singolo parametro:

Questo per quanto riguarda le variabili principali. Rimangono 3 array da poter personalizzare in base alle necessità:

L’opera di personalizzazione è terminata. Passiamo alla fase di inserimento del codice richiamando i javascript necessari nell’head della pagina:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="jquery.overlayer.js"></script>

Le prime due righe, come è evidente, caricano il framework “jquery” e il plugin “jquery.cookie”. L’ultimo script, invece, è l’overlayer.

Subito dopo inseriamo la chiamata alla funzione principale:

<script type="text/javascript">
$(document).ready(function() {
	$().overlayer();
});
</script>

Visto che abbiamo personalizzato il codice direttamente nel file “jquery.overlayer.js“, è stata inserita solamente la funzione senza parametri.

Supponiamo, invece, di voler utilizzare overlayer diversi nello stesso sito. Possiamo sovrascrivere le variabili di default, impostate precedentemente, in questa maniera:

<script type="text/javascript">
$(document).ready(function() {
	$().overlayer({
		ol_timetoclose: '20 sec',
		ol_cookielife: '15 sec',
		ol_advpage: 'pagina2.htm',
		ol_margintop: '50',
		ol_opacity:'n',
		ol_id:'camp2'
	});
});
</script>

In questa maniera otteniamo l’importante risultato di poter attivare overlayer diversi e indipendenti (nel cookie, nella pagina da richiamare, nelle opzioni, etc) richiamando sempre e solo gli stessi file javascript. Possiamo inserire e sovrascrivere tutte le variabili viste in precedenza.

Per essere ancora più chiari facciamo un esempio. Nella index del sito potremmo avere questo codice:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="jquery.overlayer.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$().overlayer({
		ol_timetoclose: '20 sec',
		ol_cookielife: '15 sec',
		ol_advpage: 'pagina1.htm',
		ol_margintop: '50',
		ol_opacity:'n',
		ol_id:'ol1'
	});
});
</script>

Mentre in una pagina interna potrebbe essere necessario richiamare un file html diverso o impostare parametri di durata differenti dal primo caso. Avremo quindi un codice simile a questo:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.cookie.js"></script>
<script type="text/javascript" src="jquery.overlayer.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$().overlayer({
		ol_timetoclose: '50 sec',
		ol_cookielife: '30 min',
		ol_advpage: 'pagina2.htm',
		ol_margintop: '150',
		ol_opacity:'y',
		ol_id:'ol2'
	});
});
</script>

Oltre alla personalizzazione dei parametri basilari, prestate attenzione alla variabile “ol_id“: sono differenti nei due casi. In questa maniera avremo cookie diversi per overlayer diversi. Se invece avessimo voluto utilizzare lo stesso cookie per le due campagne sarebbe bastato assegnare lo stesso nome o, meglio ancora, omettere direttamente la variabile.

Il codice è stato testato sui più diffusi browser in circolazione e non dovrebbero esserci problemi di compatibilità.

Download

Il pacchetto .zip contiene tutti i file necessari (compresi jQuery ed il plugin jquery.cookie). Per scaricare lo script cliccate sul link: Saibal jQuery Overlayer [4]

8 Comments (Open | Close)

8 Comments To "Overlayer con jQuery per le campagne pubblicitarie"

#1 Comment By Alice On 21 Giugno 2010 @ 17:48

Ciao Saibal!!! Sei troppo forte!!!

#2 Comment By Unknown On 14 Dicembre 2010 @ 22:15

Su IE ho problemi di visualizzazione, confermate?

#3 Comment By saibal On 11 Gennaio 2011 @ 15:02

IE quale versione? Io l’ho provato su IE 6,7 e 8. Non vedo problemi.

#4 Comment By Antonio On 21 Febbraio 2011 @ 12:49

Ciao Saibal, stò provando ad installare il tutto su wordpress, ma proprio non mi riesce… in particolare secondo te in quale cartella dovrei caricare i file? Nella cartella del tema, o in quella principale del sito? Grazie mille Antonio

#5 Comment By saibal On 21 Febbraio 2011 @ 13:27

antonio sostanzialmente non fa differenza… io di solito li metto nel tema:

[5]

#6 Comment By Antonio On 21 Febbraio 2011 @ 15:03

Alla fine ce l’ho fatta… il problema era che andava in conflitto con la barra wibiya che ho sul sito, ho dovuto inserire lo script di questa barra prima dello script che carica l’overlayer, ora va… grazie mille

#7 Comment By Antonio On 21 Febbraio 2011 @ 15:09

Un ultimo dubbio, il layer contiene un video che parte al passaggio del mouse, con il click su chiudi la finestra scompare ma il video continua ad andare (me ne accorgo dall’audio), secondo te è possibile aggiungere uno script al click su chiudi che stoppi tutti i video in corso?

#8 Comment By marianna On 29 Giugno 2011 @ 11:57

Ragazzi..su IE7 non riesco a visualizzarla…perchè???