2012-06-14 16 views
5

este es mi código de ahora:¿Cómo puedo mostrar el modal en twitter bootstrap solo una vez?

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

      if($.cookie('msg') == 0) 
      { 
       $('#myModal').modal('show'); 
       $.cookie('msg', 1); 
      } 

     }); 
</script> 

en la página de carga El modelo muestra pero cuando actualizarla sigue mostrando la que sólo debe mostrar una vez. el $ .cookie es de https://github.com/carhartl/jquery-cookie

actualización:

esto funcionó: el 'ocultar' no funcionaba por alguna razón

<script type="text/javascript"> 
     $(document).ready(function() { 
      if($.cookie('msg') == null) 
      { 
       $('#myModal').modal('show'); 
       $.cookie('msg', 'str'); 
      } 
      else 
      { 
       $("div#myModal.modal").css('display','none'); 
      } 


     }); 

</script> 
+0

¿Ha intentado convertir el valor en una cadena? – Phu

+0

sí, configuré $ .cookie ('msg')! = 'Ocultar') ... luego mostraba modal y luego configuré la cookie msg en un valor de hide. luego, el modal sigue apareciendo después de actualizar –

+1

Verifique si mi solución funcionó. Si no, ¿puedes hacer un jsfiddle? – Phu

Respuesta

6

@SarmenB 's actualización se ha realizado en la mayoría de los navegadores (FF, IE9), pero no IE8.

I modificado la solución actualizada para conseguir que funcione en IE8 ...

Esta solución fue @SarmenB 's:

<script type="text/javascript"> 
    $(document).ready(function() { 
     if($.cookie('msg') == null) 
     { 
      $('#myModal').modal('show'); 
      $.cookie('msg', 'str'); 
     } 
     else 
     { 
      $("div#myModal.modal").css('display','none'); 
     } 
    }); 
</script> 

Ésta es la solución modificada se me ocurrió que las obras IE8 es así:

<script type="text/javascript"> 
    $(document).ready(function() { 
     if($.cookie('msg') != null && $.cookie('msg') != "") 
     { 
      $("div#myModal.modal, .modal-backdrop").hide(); 
     } 
     else 
     { 
      $('#myModal').modal('show'); 
      $.cookie('msg', 'str'); 
     } 
    }); 
</script> 

Basicaly a conseguir que funcione en IE8 que tenía que revertir lo que había en las else if /.

0

Desde el aspecto de la biblioteca, el valor debe ser una cadena. Proveedores:

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

      if($.cookie('msg') == null) 
      { 
       $('#myModal').modal('show'); 
       $.cookie('msg', '1'); 
      } 

     }); 
</script> 
Cuestiones relacionadas