В момента имам Fancybox наслагване, което се отваря в моя #main
div по желание, вместо поведението по подразбиране на отваряне в body
елемент.
Направих това, както беше предложено в няколко теми на stackoverflow, като промених скрипта jquery.fancybox.js в този ред:
this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : 'body' );
до това:
this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : '#main' );
Това работи за позициониране на наслагването.
Искам след това Fancybox да центрира цялото изскачащо съдържание в това наслагване. Обаче първото съдържание на Fancybox, което се отваря, не е центрирано в наслагването, а по-скоро в рамките на body
- това неочаквано поведение понякога поставя съдържанието на fancybox частично извън наслагването. Следващите елементи на fancybox се центрират в наслагването - само първият зареден елемент е центриран върху body
.
Очевидно Fancybox си прави доста проблеми, за да изчисли размерите на прозореца за изглед и да направи възможно центрирането на съдържанието си в елемента body, но в този случай искам всички елементи да са центрирани в целевия ми #main
div, в .fancybox-overlay
.
Редактиране - промени "parent.lenth", печатна грешка в оригиналния файл jquery.fancybox.js, на "parent.length" - както е посочено от djehrame по-долу. За съжаление поведението продължава.
parent
API? Вижте това stackoverflow.com/a/19689842/1055987, специално № 2 - person JFK   schedule 03.03.2014parent
обаче изглежда не управлява параметъра, който се опитвам да задам. Предполагам, че може да се каже, че се опитвам да променя обхвата - DOM елемента - в рамките на който работи Fancybox (включително наслагването), отbody
на#main
- person nimmolo   schedule 04.03.2014parent
изглежда добавя нов DOM елемент. Правилно ли го разбирам? - person nimmolo   schedule 04.03.2014.fancybox-wrap
е брат на.fancybox-overlay
, докато след зареждане на втория елемент от галерията.fancybox-wrap
е дете отfancybox-overlay
както трябва да бъде. - person nimmolo   schedule 04.03.2014