Cómo cerrar la ventana emergente magnífica por jquery

2 minutos de lectura

Avatar de usuario de Sanjay
Sanjay

Estoy usando una ventana emergente magnífica en mi proyecto. Para cerrar esta ventana emergente con jquery, estoy usando $(‘.mfp-close’).click(); y está funcionando, pero necesito cerrar de otra manera. Por favor, ayúdame si es de otra manera. gracias de antemano

  • Por favor comparte algo de tu código

    – Grevling

    4 de junio de 2013 a las 7:56

Solo usa $.magnificPopup.close()

prueba esto:

var magnificPopup = $.magnificPopup.instance; 
// save instance in magnificPopup variable
magnificPopup.close(); 
// Close popup that is currently opened

  • Cómo haces eso ? acabo de obtener nulo en var magnificPopup

    – altoré

    31 de octubre de 2013 a las 14:48


  • muéstrame un jsfiddle con tu problema. Normalmente, esto debería funcionar siempre.

    – Bobby5193

    1 de noviembre de 2013 a las 14:53

  • ¿Existe una necesidad real de declarar la instancia? Porque en otra respuesta, del usuario Kote, esa línea no es necesaria.

    –Francisco Corrales Morales

    4 de marzo de 2015 a las 15:01


  • no es obligatorio, pero normalmente hago esto si necesito hacer más de una cosa con la ventana emergente actual. Entonces depende de lo que quieras hacer.

    – Bobby5193

    06/03/2015 a las 10:20

echa un vistazo aquí http://dimsemenov.com/plugins/magnific-popup/documentation.html#api

Estas son algunas formas de cerrar esta ventana emergente:

var magnificPopup = $.magnificPopup.instance; // save instance in magnificPopup variable
magnificPopup.close(); // Close popup that is currently opened

o

$.magnificPopup.close();

o

$('your-selector').magnificPopup('close');

Para mí, solo el tercero funcionó de manera eficiente.

  • La técnica n. ° 3 fue la única en la que pude trabajar correctamente para apuntar a una ventana emergente específica y no a todas. ¡Gracias, Lem!

    –Eric L.

    6 de junio de 2017 a las 23:12

El único que me funciona es:

$jQ('#close_popup').on('click',function(){                                                      
    $jQ.magnificPopup.proto.close.call(this);
}); 

Si tienes abierto el pop up entonces devolverá un magnific objectusando eso object puede call close method.

Pruébalo como,

var mgObj=$('your-selecter').magnificPopup({
   // you options
});

// code to close pop up on clicking a button
$(document).on('click','button',function(){
    if(mgObj)
    {
        mgObj.close();
    }
});

  • Hola Rohan, gracias por tu respuesta. Cuando lo estoy usando, lanza mgObj.close() no es una función. me puedes dar solucion

    – Sanjay

    4 de junio de 2013 a las 8:42


Avatar de usuario de Maximouse
maximouse

magnificPopup marco flotante:

window.parent.$.magnificPopup.close();

  • Hola Rohan, gracias por tu respuesta. Cuando lo estoy usando, lanza mgObj.close() no es una función. me puedes dar solucion

    – Sanjay

    4 de junio de 2013 a las 8:42


Avatar de usuario de NJENGAH
NJENGAH

Esta es la única forma en que podría cerrar la ventana emergente:

$('body').on( 'click', '#some-div', function( e ) {
            e.preventDefault();

                $.magnificPopup.close();

    });

¿Ha sido útil esta solución?