2 всплывающих окна FancyBox, класс overlay-flash - PullRequest
0 голосов
/ 04 августа 2011

У нас есть 2 приложения на одной странице, каждое из которых использует 1 fancybox каждое. Первое приложение на основе flex загружает fancybox:

$(document).ready(function(){ 
    $("a.overlay-flash").fancybox({ 
      'padding' : 0, 
      'width'   : 800, 
      'height'  : 450, 
    }); 
}); 

<a  id="hiddenclickermarketInfoPortlet" class="overlay-flash" href="<%=targetThemeURLStr%>" >Hidden Clicker</a> 

Но когда мы загружаем наше приложение и вызываем наш fancybox, кажется, что первый fancybox снова загружается.

Итак, 2 вопроса

  1. Есть ли способ закрыть оригинальный fancybox из нашего второго приложения?
  2. Что или где определен этот класс оверлейной вспышки? Я проверил в сети, и многие люди используют этот класс. (Обратите внимание, что первое загруженное приложение основано на Flex, а наше - не на Flex)

1 Ответ

0 голосов
/ 06 августа 2011

Я не уверен, как у вас открыты и стилизованы два FancyBox ... он должен быть уникальным и, следовательно, иметь идентификаторы для всех элементов.

Но если вам нужно закрыть FancyBox,используйте API

$.fancybox.close

Если вам нужно отключить оверлей, просто используйте опцию overlayShow:

$("a.fancybox").fancybox({
  overlayShow : false
});

или так как может показаться, что у вас нетконтроль над опциями, добавьте это к вашему css:

#fancybox-overlay { display: none !important; }

Если у вас все еще есть проблемы, пожалуйста, поделитесь частью разметки и кода, который вы используете


Если вам нужночтобы применить плагин к содержимому внутри fancybox, затем сделайте это с помощью onComplete callback

$("a.fancybox").fancybox({
  overlayShow : false,
  onComplete:function(){
    $('#cboxContent').find('input').autocomplete();
  }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...