Estoy intentando cerrar una instancia de Fancybox desde un enlace dentro del contenido de Fancybox. Estoy usando parent.jQuery.fancybox.close();
como se recomienda en this question. Funciona la primera vez, pero después no. ¿Puede alguien sugerir una solución?parent.jQuery.fancybox.close(); dentro de Fancybox solo cierra Fancybox una vez
estoy escondiendo mi div contenido de la página con esto:
#content {
display: none;
}
Y aquí está el enlace lanzamiento de la FancyBox, con ese div de contenido, que incluye el enlace para cerrar la FancyBox.
<a href="#" id="launch">Launch</a>
<div id="content">
<p>Nunc porttitor pellentesque magna a pulvinar. Vestibulum id diam lectus. Praesent vel dictum est.</p>
<a href="#" id="close">Close</a>
</div>
Y esta es mi JS. Intenté agregar el controlador de eventos al enlace cercano al abrir Fancybox, pero no ayudó.
$(document).ready(function(){
$('#launch').fancybox({
'width': 300,
'content': $('#content'),
'onClosed':function() {
$("#content").hide();
},
'onStart':function() {
$("#content").show();
$('#close').on('click', function(){
//console.log($(this).parent);
parent.jQuery.fancybox.close();
})
},
'onCleanup':function() {
$("#content").unwrap();
}
});
})
Gracias chicos!
Entonces, ¿qué ocurre si simplemente pone '' ('# close'). On() 'function _outside_ de la función' .fancybox() '? – Sparky
Lo mismo que Sparky: la caja de luz se cierra la primera vez que la ejecuta, pero no después de eso. –
Supongo que no entiendo completamente lo que estás tratando de hacer. Uso fancyBox y nunca tuve ningún problema como el tuyo. De acuerdo con [la documentación de fancyBox] (http://fancyapps.com/freebox/#docs), ni siquiera puedo encontrar los métodos 'onClosed',' onStart' o 'onCleanup'. – Sparky