2013-04-02 22 views
6

Ho cercato di ricordare la stretta azione avvisi Bootstrap di Twitter seguendo questo post (Using Bootstrap, have alert box remember close action)Bootstrap su Twitter. Ricordate avviso vicino all'azione

voglio che gli utenti non possono vedere l'avviso una volta che hanno chiuso e la pagina viene ricaricata di nuovo.

So che devo memorizzare lo stato in un cookie, quindi ho usato la funzione JQuery suggerita nell'esempio precedente, ma non funziona. Che cosa sto facendo di sbagliato?

Fiddle ->http://jsfiddle.net/kFy5y/

Grazie in anticipo !!

jQuery(function($){ 

    // Check if alert has been closed 
    if($.cookie('alert-box') === 'closed'){ 

     $('.alert').hide(); 

    } 

    // Grab your button (based on your posted html) 
    $('.close').click(function(e){ 

     // Do not perform default action when button is clicked 
     e.preventDefault(); 

     /* If you just want the cookie for a session don't provide an expires 
     Set the path as root, so the cookie will be valid across the whole site */ 
     $.cookie('alert-box', 'closed', { path: '/' }); 

    }); 

}); 

Alert

<div class="alert alert-info fade in">    
      <button type="button" class="close" data-dismiss="alert">×</button> 
      <strong> ALERT BODY</strong> 
</div> 

risposta

3

Si utilizza $.cookie('alert-box') che non è una funzione standard jQuery ma un metodo implementato in una biblioteca come jquery-cookie.

Quindi è necessario aggiungere questa libreria o una simile per poter salvare i cookie utilizzando jQuery.

+0

Grazie per la risposta. Ho aggiunto jquery.cookie.js ma ancora non funzionante :(Aggiornamento fiddle -> http://jsfiddle.net/kFy5y/1/ – equisde

+0

Rimuovi '$ (". Alert "). Alert()' all'inizio. '$ (x) .alert() 'non è nemmeno una funzione jQuery. Rimuovila, va bene. Ricordati che quando fai clic sulla croce imposterà il tuo cookie. Se aggiorni la pagina, il div sarà nascosto. Fiddle: http://jsfiddle.net/rrikesh/kFy5y/3/ – RRikesh

+1

Grazie mille @rrikesh. Ha funzionato !! :) – equisde