Щелчок за пределами fancybox2

Поэтому я пытаюсь использовать все, что находится за пределами моего fancybox, не закрывая его.

Итак, у меня для closeclick установлено значение false. Я также сделал его перетаскиваемым, поэтому я могу перемещать его по экрану, но если я попытаюсь нажать на кнопку, это не позволит мне. Я исследовал везде, но у всех есть способы закрыть его, щелкнув мышью, а не запускать событие за его пределами. Я знаю, что он запускается через iframe, поэтому тоже исследовал, но все равно не повезло.

Если это невозможно, есть другой способ создания всплывающих окон. Я хочу иметь возможность нажимать на вещи за пределами fanxybox.

-редактировать через месяц.

Изучал и еще не понял. Работал над другими проектами, потом снова появился этот. Теперь я также пытаюсь понять, как открыть модный ящик в модном ящике. Сделайте второй перетаскиваемым (не первый), чтобы иметь возможность щелкать мышью внутри fancybox. Если только fancybox не подходит для всего этого, есть ли другой способ сделать это.

Вот моя первая страница

 $(".fancybox").fancybox({
                fitToView: false,
                beforeShow: function () {
                    this.width = 1000;
                    this.height = 300;
                }  
            });


     <a class="fancybox fancybox.iframe" href="">
<center>
<img src="images/calendar.png" border="0" style="height: 25px; width: 25px;" /></center>
                                                </a>

Вот что находится внутри fancybox на другой странице.

 parent.$(".fancybox").fancybox({
                fitToView: false,
                beforeShow: function () {
                    this.width = 500;
                    this.height = 100;
                },
                afterShow: function () {
                $(".fancybox-wrap").draggable();
            }
            });
<a class="fancybox fancybox.iframe" href="">
<img src="images/arrow-right-3.png" border="0" style="height: 25px; width: 25px;" /></a>

Но когда я запускаю его, fancybox не выходит, он просто переходит на следующую страницу. Не уверен, закрывает ли он первый, который откроет этот, или просто перенаправляет.

Я попробовал здесь, но это не сработало. Это то, что меня беспокоит целую вечность, поэтому любая помощь будет оценена по достоинству.


person KratosMafia    schedule 15.04.2016    source источник
comment
У вас есть где-нибудь в Интернете ваш код?   -  person EGN    schedule 12.05.2016


Ответы (2)


Вы должны иметь возможность установить для параметра helpers.overlay значение false, что предотвратит отображение наложения:

parent.$(".fancybox").fancybox({
    fitToView: false,
    beforeShow: function () {
        this.width = 500;
        this.height = 100;
        // If helpers.overlay = false doesn't work, uncomment below.
        // $('#fancybox-overlay').remove();
    },
    helpers: {
        overlay: false
    },
    afterShow: function () {
        $(".fancybox-wrap").draggable();
    }
});

В противном случае в методе beforeShow вы можете просто удалить элемент наложения. Вокруг диалога есть область, которую нельзя щелкнуть (для эффекта градиента), но все остальное у меня сработало.

HTH

person Gavin    schedule 12.05.2016
comment
Ты обалденный! Так что я могу щелкнуть за пределами того, что мне было нужно. Поэтому, когда я пытаюсь добавить parent. к нему это не работает. Если я сниму его, он заработает, но останется внутри коробки. Есть ли способ вытащить его из коробки для фантазий или я должен просто сделать первый больше, а затем тот, который находится внутри того размера, который я хочу. Хочу, чтобы все это было маленьким, так что будьте крутыми, если я смогу достать из него коробочку для фантазий. (Я использую fancy-overlay.remove) - person KratosMafia; 12.05.2016
comment
@KratosMafia - Чтобы уточнить, вы пытаетесь запустить новый fancybox из iframe, уже показанного в fancybox? - person Gavin; 12.05.2016
comment
Хорошо. Я хочу, чтобы открылась необычная коробка, и я ее открыла. Затем в этом fancybox откройте второй и сможете перемещать его, но сделайте первый fancybox интерактивным. Если в этом есть смысл. Но я хочу, чтобы второй нарядный бокс тоже был вне первого. - person KratosMafia; 12.05.2016
comment
Честно говоря, я не думаю, что FancyBox был бы лучшим решением, поскольку он предназначен только для того, чтобы открывать только по одному. Вам, вероятно, лучше использовать диалог пользовательского интерфейса jQuery - jqueryui.com/dialog - person Gavin; 12.05.2016
comment
Если я смогу понять, как перемещать fancybox, по крайней мере, внутри fancybox, я могу с этим справиться. Спасибо вам за помощь. - person KratosMafia; 12.05.2016
comment
Я понял. У меня был FanycBox вместо Fancybox внутри моего Fancybox, поэтому jquery не подготовил его правильно. Спасибо тебе за все! - person KratosMafia; 12.05.2016

Два шага:

1) Установите для параметра overlayShow значение false

 $(".fancybox").fancybox({
                fitToView: false,
                overlayShow: false,
                beforeShow: function () {
                    this.width = 1000;
                    this.height = 300;
                },
                afterShow: function () {
                    $(".fancybox-wrap").draggable();
                }
            });

2) Установите отступ на 0, вы можете добиться этого, добавив padding: 0 в свой контейнер fancybox или добавив его в свой файл CSS.

.fancybox-wrap {
    padding: 0 !important;
}
person EGN    schedule 12.05.2016