Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   FancyBox потомок закрывает родителя. Как остановить? (https://javascript.ru/forum/jquery/54075-fancybox-potomok-zakryvaet-roditelya-kak-ostanovit.html)

Cutter 02.03.2015 19:01

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 совершенно не разбираюсь, просто очень нужно сделать, причем ещё вчера.

Просьба ткнуть носом, в чем я не прав и где почитать как надо? Гугл молчит. Или я его не так спрашиваю.

danik.js 02.03.2015 20:38

Вроде бы как fancybox - "синглтон", Нельзя открыть fancybox внутри fancybox. При открытии fancybox предыдущий открытый fancybox закрывается.

рони 02.03.2015 21:39

Cutter,
может это вас на какие мысли натолкнёт
http://javascript.ru/forum/jquery/43...tml#post289559

Cutter 02.03.2015 22:11

рони, так я как раз по мотивам этого обсуждения и пытался мудрствовать. Только пока мысли мутны, как сон верблюда. И мне бы лучше не открыть родителя после закрытия потомка, а вообще родителя не закрывать. В частности, потому что потомок из него должен считать данные на галерею, которую надо показывать. Если я правильно понимаю, он это начинает делать только по onClick на ссылке, а не при onLoad окна...

рони 02.03.2015 22:28

Cutter,
я вас тоже смутно понимаю ))) так и не понял зачем окно родитель держать открытым и весь ваш 4 пост.

Cutter 02.03.2015 23:13

Цитата:

Сообщение от рони (Сообщение 359269)
Cutter,
я вас тоже смутно понимаю ))) так и не понял зачем окно родитель держать открытым.

Узнаю (если узнаю) у нашего директора, обязательно объясню!

Цитата:

Сообщение от рони (Сообщение 359269)
Cutter и весь ваш 4 пост.

Видимо, я слишком сумбурно объяснялся ). Бывает.

В общем, не совсем так, как жаждет видеть начальство, но работает.

Спасибо!


Часовой пояс GMT +3, время: 17:47.