Atraso pop-up por 10 segundos, apenas pop up uma vez

Oi eu estou usando o pop-up inline fancybox para alertar uma visão para uma promoção. O código que estou usando para isso é:

$(document).ready(function() { $("#various1").fancybox(); }); 

Como eu modificaria isso para que automaticamente aparecesse depois de, digamos, 20 segundos? Mas uma vez fechado, não apareceria de novo.

    Na verdade, nenhuma das soluções postadas anteriormente funciona na vida real, por quê? porque a linha:

     $("#various1").fancybox(); 

    não aciona o fancybox, ele apenas liga o fancybox ao seletor # various1, mas ele ainda precisa de um clique para acionar o modal / lightbox (não um popup). BTW, a solução da Gearóid tem erros de syntax de qualquer maneira. O único valor real é que eles sugerem o uso do plugin de cookie jQuery (site antigo).

    EDIT : (07 de março de 2012) A página inicial do plugin de cookie jQuery movido aqui .

    Etapas para uma solução de trabalho:

    A) Carregue o plugin do cookie jQuery (como sugerido) depois dos arquivos jQuery e fancybox js

    B) Então use este script:

      

    C) você ainda precisa ter algum lugar no seu código html (talvez oculto)

      

    ou para conteúdo in-line

      
    message to display in fancybox

    Além disso, se você usar o conteúdo inline e o fancybox v1.3.x, verifique um bug e uma solução alternativa aqui

    PS. O fancybox não é um popup, mas um plugin jQuery modal / lightbox, que é uma solução não intrusiva como jGrowl do ponto de vista da UI.

     $(document).ready(function() { setTimeout(function () { $("#various1").fancybox(); }, 20000); }); 
     Use Timeout function. The solution for your query is below $(document).ready(function () { setTimeout(function() { $('your modal id').modal('show') }, 10000); //displays modal after 10 seconds }); 

    Você deve poder usar a function de delay para isso:

     $("#various1").delay(20000).fancybox(); 

    Você deve usar setTimeout para atrasar o popup da seguinte forma:

     setTimeout("showPopup()",20000); function showPopup() { if (null != $.cookie("offer_closed")) $("#various1").fancybox();}); } 

    O uso da biblioteca de cookies jQuery para definir um cookie (chamá-lo algo como “offer_closed”) para true quando o usuário clica em fechar. Isso sinaliza que o popup já foi exibido.

    PS. Do ponto de vista da interface do usuário, você deve tentar evitar soluções usando pop-ups. Usuários os odeiam. Tente uma solução mais elegante como jGrowl.

    Você pode usar a function setTimeout em javascript:

     setTimeout(function() { // first wait 20 seconds before this popups $("#various1").fancybox(); setTimeout(function() { //.. what to do after 10 seconds }, 10000); }, 20000); 

    Eu espero que isso seja o que você quer? Seu título e explicação são confusos

    Veja o exemplo de código abaixo, o pop-up será aberto após 5 segundos no carregamento da página com uma mensagem “Bem-vindo ao nome do site” –

          
    welcome to shoesdekho.com