Fancybox Auto Close, но остается под контролем пользователя - PullRequest
1 голос
/ 16 июня 2010

Я искал по форуму, но не могу найти решение. я ссылаюсь на эту тему, чтобы сделать функцию автоматического закрытия: http://groups.google.com/group/fancybox/browse_thread/thread/d09438b7... Я следовал решению JFK, которое работает правильно:

'onComplete': function() { 
   $("#fancybox-wrap, #fancybox-overlay").delay(3000).fadeOut(); 
   } 

если вы не хотите, чтобы пользователь закрывал окно, добавьте modal = true

Сценарий: я бы хотел, чтобы у пользователя была возможность закрыть модальный, когда они нажимают на кнопку [закрыть] или нажмите в любом месте на наложение. Я использую последнюю версию FB и jQuery на Rails.

Вот мой сценарий:

<script type="text/javascript"> 
  jQuery(document).ready(function() { 
    jQuery("#link_post").fancybox({ 
      'autoDimensions':false, 
      'width':380, 
      'height':50, 
      'title':'This message box will automatically close in 10 
seconds.', 
      'titlePosition':'outside', 
      'onComplete': function() { 
        jQuery("#fancybox-wrap, #fancybox- 
overlay").delay(10000).fadeOut(); 
      } 
    }); 
  }); 
</script> 

Однако, когда я нажал на кнопку закрытия, название и закрыть кнопка исчезнет, ​​но содержимое и наложение FB по-прежнему там! он исчезнет только через 10 секунд. Итак, мой вопрос как переписать функцию 'onComplete', если пользователь нажимает на кнопку закрытия кнопка, прежде чем она автоматически закрывается?

Ответы [ 2 ]

2 голосов
/ 17 декабря 2012
    $(document).ready(function() {
    $('.fancybox').fancybox({
    'afterLoad': function() { 
       $(".fancybox-overlay").delay(3000).fadeOut(); 
    }
    });
});

Это работа!для fancybox v2.x.

2 голосов
/ 17 июня 2010

Хорошо, я нашел решение. К вашему сведению, я использую fancybox v1.3.1 и jQuery v1.4.2

<script type="text/javascript"> 
  jQuery(document).ready(function() { 
    jQuery("#link_post").fancybox({ 
      'autoDimensions':false, 
      'width':380, 
      'height':50, 
      'title':'This message box will automatically close in 10 
seconds.', 
      'titlePosition':'outside', 
      'onComplete': function() { 
        jQuery("#fancybox-wrap, #fancybox- 
overlay").delay(10000).fadeOut(); 
      } 
    }); 

    jQuery("#fancybox-close").click(function() {
      jQuery('#fancybox-overlay').stop();
      jQuery('#fancybox-wrap').stop();
    });

  }); 
</script> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...