Domanda

Ciao a tutti voglio essere in grado di chiudere Fancybox quando è aperta dall'interno.

Ho provato quanto segue ma senza alcun risultato:

function closeFancyBox(html){
    var re = /.*Element insert complete!.*/gi;
    if( html.search( re ) == 0 ){
        $.fancybox.close();
        //alert("foo");
    }
}

pippo si apre in finestra, ma non chiuderà. eventuali suggerimenti?

È stato utile?

Soluzione

Prova questo: . Genitore $ fancybox.close ();.

Fancybox documentazione delle API .

Altri suggerimenti

http://fancybox.net/faq

  
      
  1. Come posso chiudere Fancybox da altro elemento? ?
  2.   
     

Basta chiamare $.fn.fancybox.close() su   il vostro evento onclick

Quindi, si dovrebbe solo essere in grado di aggiungere il fn.

Se si desidera solo per chiudere la finestra di fantasia è sufficiente per chiuderla.

$('#inline').click(function(){
  $.fancybox.close();
});

E 'inutile mettere il .fn, sarà Refer al prototipo.
Quello che dovete fare è di $ .fancybox.close ();

La cosa è che si sta forse vivendo un altro errore da js.
Ci sono errori sullo schermo?
La tua fancybox e jQuery le ultime novità? jQuery è attualmente in 1.4.1 e fb in 1.3 qualcosa

Esperimento mettendo un link all'interno del fancybox e mettere quella funzione in esso.

Probabilmente aveva letto che, ma in ogni caso, http://fancybox.net/api

Una cosa che probabilmente potrebbe essere necessario fare è isolare ogni parte per realizzare quello che è.

È anche possibile vicino fancybox da avvicinarsi il pulsante ID e chiamare cliccare evento che id.

<input type='button' value='Cancel' onclick='javascript:document.getElementById("fancybox-close").click();' />

Si lavora per me!

ho avuto gli stessi problemi di lunga data un allora ho ottenuto la soluzione per il codice qui sotto. si prega di utilizzare

parent.jQuery.fancybox.close()

Un po 'di un vecchio thread, ma ...

In realtà, ho il sospetto che la risposta alla domanda iniziale su come chiudere la finestra da all'interno di la finestra ha più a che fare con il fatto che l'evento click non è collegato all'elemento. Se l'evento click è fissata in document.ready l'evento non verrà allegata quando fancybox crea la nuova finestra.

È necessario applicare nuovamente l'evento click una volta che la nuova finestra. Probabilmente il modo più semplice per farlo è quello di utilizzare la funzione onComplete.

Questo funziona per me:

$(".popup").fancybox({
    'transitionIn'  :   'fade',
    'transitionOut' :   'elastic',
    'speedIn'       :   600, 
    'speedOut'      :   400, 
    'overlayShow'   :   true,
    'overlayColor'  :   '#000022',
            'overlayOpacity'  : 0.8,
            'onComplete' : function(){$('.closer').click(function(){parent.$.fancybox.close();})}
});

In realtà, dopo un po 'di pensiero 'dal vivo', piuttosto che 'click' o 'legano' potrebbe funzionare altrettanto bene.

Utilizza questo per chiuderla invece:

$.fn.fancybox.close();

A giudicare dal codice sorgente fancybox, che è come maniglia di chiusura internamente.

Dopo essermi alle prese con questo ho trovato una soluzione che funziona basta sostituire il $ con jQueryjQuery.fancybox.close() e mi ha reso uno script in linea su un onClick. Andando a verificare se posso chiamarlo dal genitore

Per chi ha trascorso ore come me di trovare la soluzione per il tipo di linea: window.setTimeout (function () {. $ Fancybox.close ()}, 10);

Ho finito per usare:

<script>parent.$("#fancy_close").click();</script>

Credo che la versione di fancybox abbiamo non dispone di una funzione di $ .fancybox.close () per me di chiamare: (

Cordiali saluti, volevo solo la pagina per chiudere la fancybox, come aveva terminato la sua trasformazione in PHP.

Aggiungi $.fancybox.close() dove mai si vuole essere attivato, in una funzione o una richiamata, termine di una chiamata AJAX!

Woohoo.

In un uso iframe - genitore $ fancybox.close ();..

per chiudere fancybox da Funciton suo necessario per rendere setTimtout alla funzione che chiuderà la fancybox Fancybox bisogno di tempo per acept la funzione di chiusura Se si chiama la funzione direttamente non funziona

function close_fancybox(){
$.fancybox.close();
                     }
setTimeout(close_fancybox, 50);

sì in Virtuemart la sua deve essere pulsante di chiusura-continuare lo shopping, non elemento, perché dopo clic è possibile reindirizzare .. ho trovato questo reindirizzamento bug sul mio sito web Ajax.

Per chiudere la finestra fancybox ajax, utilizzare questo:

onclick event -> $.fancybox.close();
return false;  
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top