Gostaria de lançar um Fancybox (por exemplo , uma versão do Fancybox de um modal ou caixa de luz) no carregamento da página. Eu poderia vinculá-lo a uma tag âncora oculta e disparar o evento click dessa tag âncora via JavaScript, mas prefiro apenas iniciar o Fancybox diretamente e evitar a tag âncora extra.
jquery
jquery-plugins
fancybox
Blegger
fonte
fonte
Respostas:
O Fancybox atualmente não oferece suporte direto para uma forma de inicialização automática. A solução que consegui fazer foi criar uma tag de âncora oculta e acionar seu evento de clique. Certifique-se de que sua chamada para acionar o evento de clique seja incluída após os arquivos jQuery e Fancybox JS serem incluídos. O código que usei é o seguinte:
Este script de amostra é incorporado diretamente no HTML, mas também pode ser incluído em um arquivo JS.
fonte
$(document).ready(LaunchFancyBox());
deveria ser$(document).ready(LaunchFancyBox);
. (observe a falta da chamada de função no final).Eu fiz isso funcionar chamando esta função no documento pronto:
fonte
É simples:
Faça seu elemento oculto primeiro assim:
Em seguida, chame o seu javascript:
Veja a imagem abaixo:
Outro exemplo:
fonte
Window.load (em oposição a document.ready ()) parece ser o truque usado nas demos onload JSFiddler do Fancybox 2.0 :
Tenha em mente que você pode estar usando document.ready () em outro lugar, e o IE9 fica chateado com a ordem de carregamento dos dois. Isso deixa você com duas opções: mude tudo para window.load ou use um setTimer ().
fonte
Ou use isso no arquivo JS depois que sua caixa fantasia estiver configurada:
Acredito que o Fancybox 1.2.1 usará as opções padrão do meu teste quando eu precisar fazer isso.
fonte
por que ainda não é uma das respostas ?:
agora é só acionar seu link !!
obtive isso na página inicial do Fancybox
fonte
A melhor maneira que encontrei é:
fonte
No meu caso, o seguinte pode funcionar com sucesso. Quando a página é carregada, o lightbox é exibido imediatamente.
JQuery: 1.4.2
Fancybox: 1.3.1
fonte
A resposta de Alex é ótima. mas é importante notar que isso chama o estilo fancybox padrão. Se você tem suas próprias regras personalizadas, você deve apenas chamar .trigger e clicar nessa âncora específica
fonte
Na verdade, consegui acionar um link fancyBox apenas de um arquivo JS externo usando o evento "ao vivo":
Primeiro, adicione o evento de clique ao vivo em sua futura âncora dinâmica:
Em seguida, anexe a âncora ao corpo:
Em seguida, acione o fancyBox clicando na âncora:
O link fancyBox agora está "quase" pronto. Por que "quase"? Porque parece que você precisa adicionar algum atraso antes de acionar o segundo clique, caso contrário, o script não estará pronto.
É um atraso rápido e sujo usando alguma animação em nossa âncora, mas funciona bem:
Aqui está, seu fancyBox deve aparecer no carregamento!
HTH
fonte
Talvez isso ajude ... isso foi usado no evento de clique do calendário jQuery em tamanho real ( http://arshaw.com/fullcalendar/ ) ... mas pode ser usado de forma mais geral para lidar com o fancybox sendo lançado pelo jQuery.
fonte
Você também pode usar a função JavaScript nativa
setTimeout()
para atrasar a exibição da caixa depois que o DOM estiver pronto.fonte
Caso você não tenha um botão para clicar. Quero dizer, se você quiser abri-lo em uma resposta ajax, será assim:
fonte
Isso vai ajudar..
fonte
Você pode colocar um link como este (ficará oculto. Pode ser antes
</body>
)E trabalhar o atributo rel ou classe como este
Basta fazer isso com a função de gatilho jquery
fonte
HTML:
JS:
fonte
talvez você possa usar jqmodal , é leve e fácil de usar. você pode mostrar a caixa modal chamando
fonte