FancyBox потомок закрывает родителя. Как остановить?
Доброго времени суток всем!
Собственно, сабж. На сайте при клике на ссылку вида <a class="fancybox" href="vyveski?ajax=1">Вывески</a> во всплывающем окне аяксом загружается страница. На ней ссылка вида <a class="ngg-fancybox fancybox2" rel="a8d4d19c6389e219203d095f7ebf7721" title=" " href="standart-2-1.jpg"><img width="240" height="160" src="standart-2-1.jpg-nggid011-ngg0dyn-240x160x100-00f0w010c011r110f110r010t010.jpg" alt="standart-2.jpg" title="standart-2.jpg"></img></a> Проблема в том, что мне нужно, что-бы окно родитель после клика осталось открытым. А оно закрывается. На исходной странице fancybox инициализируется так: jQuery(function(){ jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles var arr = jQuery("a.fancybox"); jQuery.each(arr, function() { var title = jQuery(this).children("img").attr("title"); jQuery(this).attr('title',title); }) } // Supported file extensions var thumbnails = jQuery("a:has(img)").not(".nolightbox").filter( function() { return /\.(jpe?g|png|gif|bmp)$/i.test(jQuery(this).attr('href')) }); thumbnails.addClass("fancybox").getTitle(); jQuery("a.fancybox").fancybox({ 'cyclic': false, 'autoScale': true, 'padding': 30, 'opacity': true, 'speedIn': 500, 'speedOut': 500, 'changeSpeed': 300, 'overlayShow': true, 'overlayOpacity': "0.3", 'overlayColor': "#666666", 'titleShow': true, 'titlePosition': 'inside', 'enableEscapeButton': true, 'showCloseButton': true, 'showNavArrows': true, 'hideOnOverlayClick': true, 'hideOnContentClick': false, 'width': 560, 'height': 340, 'transitionIn': "fade", 'transitionOut': "fade", 'centerOnScroll': true }); jQuery().fancybox({ 'type': 'ajax' }); }) На странице загружаемой аяксом: jQuery(function(){ jQuery("a.fancybox2").fancybox({ 'cyclic': true, 'autoScale': true, 'padding': 30, 'opacity': true, 'speedIn': 500, 'speedOut': 500, 'changeSpeed': 300, 'overlayShow': true, 'overlayOpacity': "0.3", 'overlayColor': "#666666", 'titleShow': true, 'titlePosition': 'inside', 'enableEscapeButton': true, 'showCloseButton': true, 'showNavArrows': true, 'hideOnOverlayClick': true, 'hideOnContentClick': false, 'width': 560, 'height': 340, 'transitionIn': "fade", 'transitionOut': "fade", 'onStart': function() { window.last = this.element; }, 'onClosed': function() { setTimeout( function() { jQuery(window.last).trigger('click') }, 300); }, 'centerOnScroll': true, }); }) Собственно, 'onClosed' и 'onStart' в последней инициализации, это попытка решить проблему, как додумался. В JavaScript совершенно не разбираюсь, просто очень нужно сделать, причем ещё вчера. Просьба ткнуть носом, в чем я не прав и где почитать как надо? Гугл молчит. Или я его не так спрашиваю. |
Вроде бы как fancybox - "синглтон", Нельзя открыть fancybox внутри fancybox. При открытии fancybox предыдущий открытый fancybox закрывается.
|
Cutter,
может это вас на какие мысли натолкнёт http://javascript.ru/forum/jquery/43...tml#post289559 |
рони, так я как раз по мотивам этого обсуждения и пытался мудрствовать. Только пока мысли мутны, как сон верблюда. И мне бы лучше не открыть родителя после закрытия потомка, а вообще родителя не закрывать. В частности, потому что потомок из него должен считать данные на галерею, которую надо показывать. Если я правильно понимаю, он это начинает делать только по onClick на ссылке, а не при onLoad окна...
|
Cutter,
я вас тоже смутно понимаю ))) так и не понял зачем окно родитель держать открытым и весь ваш 4 пост. |
Цитата:
Цитата:
В общем, не совсем так, как жаждет видеть начальство, но работает. Спасибо! |
Часовой пояс GMT +3, время: 17:47. |