Overlay jQuery al caricamento della pagina

Vediamo come creare un overlay con jQuery che appaia sullo schermo del visitatore all’apertura della pagina, ideale come trovata pubblicitaria!

[lightgrey_box] ATTENZIONE: Questa versione è obsoleta, ti consigliamo di leggere anche questo articolo: TrgReveal plugin  [/lightgrey_box]

A (grandissima) richiesta ecco l’articolo che vi servirà per far apparire un fantastico popUp in overlay grazie a JQuery, questo articolo è una continuazione di questo, nel quale spiegavo come crearlo attraverso l’uso di trigger.

Questa soluzione è l’ideale per “spingere” i vostri prodotti, iniziative, e articoli, è poco invasivo e molto leggero, pertanto può essere usato davvero su tutti i vostri progetti.

>> GUARDA LA DEMO

>> DOWNLOAD

Struttura dell’overlay

Impostiamo un div “contenitore” dell’overlay e un altro che conterrà il nostro BOX con tutte le nostre proposte/iniziative. Ecco il code:

HTML

<div class="overlay" id="overlay" style="display:none;"></div>

    <div id="box">

    	<div id="box-container">

    <h1 class="titolo_box">Questo e' un overlay</h1>

        <p class="sotto-titolo">Testo dell'overlay qui</p>

   <p class="testo-box">Qui puoi inserire informazioni pubblcitarie</p>

        <p class="chiudi"><img src="chiudi.png" alt="X" /></p>

        </div><!--box container-->

   </div>  <!--FINE BOX-->

CSS:

.chiudi{ font-size:18px; color:#000; font-weight:bold;position:absolute; right:14%; top:0%;  cursor:pointer;}

.overlay{
    background:#000;
    position:fixed;
    top:0px;
    bottom:0px;
    left:0px;
    right:0px;
    z-index:100;
    cursor:pointer;
/*Trasperenza cross browser*/
opacity: .7; filter: alpha(opacity=70);
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=70)";   

}

#box{ width:400px; height:300px; background-repeat:no-repeat; background-image:url(overlay-gb.png); display:none; z-index:+300; position:absolute; left:37%; top:20%; -moz-border-radius: 15px;  -webkit-border-radius: 15px;border-radius: 15px; }

#box-container{ margin:15px 40px 0px 0px;}

Come potete osservare ho reso invisibile l’overlay e il box così da poterli fare apparire in seguito. Per l’overlay potete usare anche un’immagine png o un pattern per renderlo più fluido e cross-browser (su IE7-6 la trasparenza in questo modo non funziona se non usando pesanti filtri).

A questo punto non ci resta che animare il tutto con jQuery:

<script>
//CREATO DA RICCARDO MEL -TARGETWEB.IT
$(document).ready(function() {

 $('#overlay').delay(1000).fadeIn('fast'); //cambia il valore di delay per temporizare di più l'overlay

     $('#box').delay(1000).fadeIn('slow');

     $(".chiudi").click(  //chiusura
     function(){
     $('#overlay').fadeOut('fast');
     $('#box').hide();
     });

	});

</script>

Le prime due righe di codice sono le più importanti, usando delay() ho temporizzato l’apparizione dei due elementi (in questo caso compaiono insieme), potete cambiare il valore tra parentesi in qualsiasi momento. Se non avessi usato delay() i due elementi sarebbero comparsi pressochè contemporaneamente alla pagina web, si sarebbe pertanto perso questo gradevole effetto. La seconda parte del codice è per la chiusura dell’overlay da parte dell’utente.

Risorse grafiche

grafica-overlay

DOWNLOAD GRAFICA

Potete altresì approfondire questo argomento seguendo questo mio articolo. Spero vi sia utile commentate!

 

0 0 voti
Valutazione dell'articolo
Iscriviti
Notificami
guest

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

22 Commenti
Vecchi
Più recenti Le più votate
Feedback in linea
Visualizza tutti i commenti
Alfonso
Alfonso
14 anni fa

Ciao Riccardo
volevo chiederti due cose, la prima se è possibile temporizzare la chiusura dell’overlay senza che sia l’utente a farlo in modo da renderlo meno “invasivo” eventualmente come cambierebbe il codice che hai scritto e se è possibile in questo caso l’utente avrebbe sempre la possibilità di eventualmente cliccare su un link che inseriremo nell’overlay oppure no?
Poi volevo sapere se questo overlay può essere utilizzato come quelli che compaiono solo quando passi con il mouse su una scritta/comunicazione che vuoi mettere in evidenza, l’esempio di cui parlo lo si vede proprio nella home di jquery.com
Grazie Alfonso

Giacomo
Giacomo
14 anni fa

carino 🙂

Alfonso
Alfonso
14 anni fa

Riccardo,
scusa se solo ora rispondo ma fino a pochi minuti fa mi dava che il mio post era ancora in fase di convalida.
Innanzitutto grazie per avermi inserito la parte di codice per risolvere la prima info, e ancor di più per la seconda che rettifica una mia erronea richiesta, si era proprio quello a cui mi riferivo, al tooltip.

diablo 3 news
diablo 3 news
14 anni fa

Excellent publish. I’m struggling with a few these troubles.

colorbis
colorbis
14 anni fa

come inserire tutto in blog di bloger dove esattamente vengono inserite la posizione giusta la ringrazio per aiuto

Luca Conti
Luca Conti
14 anni fa

questo script mi è stato utilissimo per risolvere un problema ma come faccio a gestire l’apertura di questo box all’apertura della pagina di ritorno da un form ( come conferma ) per esempio ritornando dal form con pagina.htm?box o pagina.htm#box avevo visto una cosa simile tramite un alert sempre con javascript ma alla grafica non piace 🙁 🙁

Luca Conti
Luca Conti
Rispondi a  Riccardo Mel
14 anni fa

grazie riccardo per la risposta però o sbaglio qualcosa nel codice oppure non mi sono spiegato bene io devo solo visualizzare questo overlay che conferma l’invio dei dati del form adesso ogni volta che apri la pagina esce usando questo codice io invece vorrei che questo overlay esca solo quando dal php che mi manda la mail mi ritona l’url pagina.htm?success per esempio non devo caricare niente nella pagina devo solo aprire l’overlay solo se si ritorna con quel codice se no non fa niente mi si apre la pagina normalmente

deborah
deborah
14 anni fa

ciao Funziona su piattaforma blogger? Complimenti per la guida

roberto
roberto
13 anni fa

ciao riccardo, ho provato ad inserire questo overlay nel mio sito, e facendo le prove in locale, uso dw, funziona tutto tranne la x della chiusura, oltretutto il div del mio menu non va in trasparenza come tutta la pagina, grazie per la risposta

roberto
roberto
13 anni fa

Grazie per la tempestività della risposta

credo anche io sia di un z-indez, perchè alcuni div del sito rimangono accesi e non vanno in trasparenza, ma aimè non so metter mani, forse mi conviene rinunciare per ora…comunque l’animazione sulla x, al passaggio del mouse funziona….grazie comunque

Mario
Mario
13 anni fa

Ciao Riccardo grazie per lo script, volevo chiederti ma se volessi che il box scorra insieme alla barra laterale? Quindi rimanendo sempre a centro pagina fino a quando non lo si chiuda con la X? Un poco come fanno le pubblicità sul forum Html
http://forum.html.it/forum/showthread/t-893686.html

Grazie

Luigi
Luigi
12 anni fa

Quali sono i giusti accorgimenti per applicare questo metodo a worpdress (diciamo al tema base twenty ten per esempio)? Aggiungere quanto sopra ad index.php del tema è il primo passo….

Daniele
Daniele
11 anni fa

Grazie riccardo utilissimo! Se volessi che fosse responsive? hai un aiuto da darmi? grazie ancora…

luigi
luigi
10 anni fa

ciao, come posso applicare la tua guida utilizzando il software per siti web WYSIWYG Web Builder 10? perdona l’ignoranza

stefano
stefano
9 anni fa

Ciao, spero ancora leggerai visti gli anni che sono passati! 🙂
Sto cercando di inserire l’effetto in un sito html che ho già creato, però non riesco a farlo funzionare. Mi oscusa ma non mi apre la finestrelle overlay.
Forse sbaglio coi i css?! Io non ho messo style /style nell’html, ma ho creato un file css apposito, richiamato nell’html, ma sono un novellino, e sbaglio qualcosa. Però non mi arrendo….in attesa di lumi, provo e riprovo!

Grazie mille!

Rimani Aggiornato
Nuove idee, zero Spam
Ti invieremo solo le ultime novità di articoli o nostri progetti.
Iscrivendoti accetti la nostra privacy poliicy. Una volta iscritto, ricordati di attivare l'iscrizione cliccando sul link ricevuto via mail.
22
0
Esprimete la vostra opinione commentando.x