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, время: 02:11. |