Вопрос по – Откройте Fancybox из Fancybox и закройте родитель

0

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

Спасибо, ребята, за вашу помощь. Но это не работает :(. Продукт открывается в окне без fancybox.

    $(document).ready(function() {
$("a#fancy1").fancybox({
        'speedIn'           : 600, 
        'speedOut'          : 200, 
        'overlayShow'       : false,
        'autoDimensions'    : false,
        'width'             : 620,
        'height'            : 'auto',
        'overlayShow'       : true,
        'overlayOpacity'    : 0.8,
        'overlayColor'      : '#ccc'
});
$("a#fancy2").fancybox({
        'speedIn'           : 600, 
        'speedOut'          : 200, 
        'overlayShow'       : false,
        'autoDimensions'    : false,
        'width'             : 620,
        'height'            : 'auto',
        'overlayShow'       : true,
        'overlayOpacity'    : 0.8,
        'overlayColor'      : '#ccc'
}); 
}); 

Это то, что у меня есть. Нажав на товар, вы откроете fancybox & quot; fancy1 & quot ;. Но, щелкнув ссылку fancybox, вы откроете соответствующий продукт, и я получаю:

($ is not defined $(function(){$('#form_2538').validate();});) !

Ссылка на продукт, сделанный таким образом

<a id="fancy1" href="product_url" >

Ссылка на родственный сделанный таким образом

<a id="fancy2" href="product_url" >

Я боролся с этим некоторое время :(

И Я РАЗРЕШИЛ ЭТО !!!!!!!!!!!!!!!!!!!

Я решил проблему !!

Пожалуйста, смотрите ниже!

    $(document).ready(function() {

$("a.fancy1").live("hover",
        function()
        {$("a.fancy1").fancybox({
        'speedIn'           : 600, 
        'speedOut'          : 200, 
        'overlayShow'       : false,
        'autoDimensions'    : false,
        'width'             : 620,
        'height'            : 'auto',
        'overlayShow'       : true,
        'overlayOpacity'    : 0.8,
        'overlayColor'      : '#ccc'

        });
        });
    });
эта ошибка($ is not defined $(function(){$('#form_2538').validate();});) кажется, не имеет отношения к fancybox, и он может быть также нарушен сценарий fancybox. Проверьте настройки сценария проверки. JFK

Ваш Ответ

2   ответа
0

$("a#fancy1").fancybox({
// options
});
$("a#fancy2").fancybox({
// options
});

Обратите внимание, что второй скрипт не находится внутри первого (onClosed опция).

Откройте первый необычный ящик, как:

<a id="fancy1" href="{link to product}">open product</a>

Тогда внутри открытого контента у вас должна быть ссылка вроде

<a id="fancy2" href="{target to related product}">see related product</a>

вам на самом деле не нужно закрывать первый блок, а ссылка на второй изнутри закроет его.

как вы можете видеть в приведенном выше примере, я последовал вашему предложению и до сих пор не получил никакого результата. Печальный. Hercules S.
Спасибо, JFK. Ваше решение вроде сработало. Мне пришлось использовать $ (& quot; a # fancy1 & quot;). Fancybox ({// options}); $ (& quot; a # fancy1 & quot;). fancybox ({// options}); ДВАЖДЫ! Но! Открытие продукта с помощью fancybox и нажатие на соответствующий продукт в нем работает только 1 раз. Если я открою связанный продукт, который тоже получил связанные продукты, он не работает .. Hercules S.
Не работает дважды, потому что этоfancybox.net/faq (№ 7)
0
<a href="product_url" id="fancy2">Link</a>

<script>
$('#fancy2').click(function()
{
    $(this).parent().fancybox.close();
});
</script>

<script>
$('#fancy2').click(function()
{
    $('a#fancy1').trigger('click');
});
</script>
и я думаю, вам нужно сделать это для каждой ссылки? $ ('a' a.). each (function () {$ (this) .fancybox ({// options});});
Ну, вам нужно набрать код в $ (document) .ready (function () {/ * код места здесь * /});
Я немного новичок в JS. Не понял! Куда я это положу? Вот так: ? Hercules S.

Похожие вопросы