Buenas,
Encontré un ejemplo más sencillo de implementar, funciona correctamente. Se abre el modal al pulsar el boton/enlace y no se cierra hasta que no pulsas el boton cerrar.
Quiero añadirle la funcionalidad de que si pulsan fuera del modal también se cierre igual que si pulsase el boton cerrar.
Pensaba que agregando las lineas comentadas tendría bastante, pero lo que consigo es que una vez se abre el modal se cierra automáticamente sin esperar respuesta del usuario :S
Código completo
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> body {
background:#fff;
font-family:Verdana, Arial, Helvetica, sans-serif;
color:white;
}
a:link, a:visited, a:active {
background:red;
color:white;
text-decoration:none;
padding:3px;
}
a:hover {
background:white;
color:red;
}
#darken {
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:none;
z-index:199;
background:black;
opacity:.5;
filter:Alpha(opacity=50); /* Transparency in IE */
}
#modalBox {
position:absolute;
top:50%;
left:50%;
width:400px;
height:300px;
margin-left:-200px;
margin-top:-200px;
border:#ccc 10px solid;
padding:10px;
display:none;
background:white;
font-size:12px;
color:black;
z-index:200;
}
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> <script type="text/javascript"> $(function(){
$('#open').click(function(){
$('#darken').fadeIn('500');
$('#modalBox').fadeIn('500');
});
$('#close').click(function(){
$('#modalBox').fadeOut('500');
$('#darken').fadeOut('500');
});
/*$("body").click(function(){
$('#modalBox').fadeOut('500');
$('#darken').fadeOut('500');
});*/
});
<a href="#" id="open">Open modalBox
</a> <p>Donec porta magna ac quam. Sed mollis. Nunc ultricies commodo neque. Aliquam dapibus. Nulla gravida interdum tortor. In arcu. Pellentesque eu quam. Donec aliquam iaculis urna. Maecenas vel orci quis arcu vulputate cursus. Quisque lectus. Fusce ultricies orci at quam. Sed ut augue.
</p> <img src="http://path/to/some/image.jpg" alt="some image" /> <p><a href="#" id="close">Close modalBox
</a></p> </div><!-- end modalBox --> <div id="darken"></div><!-- end darken -->
¿Sabéis que me falta para conseguirlo?
Muchas gracias de antemano!