Javascript Fancybox:覆盖会根据需要在div内部打开,但不会打开内容

Javascript Fancybox:覆盖会根据需要在div内部打开,但不会打开内容,javascript,jquery,fancybox,fancybox-2,Javascript,Jquery,Fancybox,Fancybox 2,目前,我在#maindiv中根据需要打开了Fancybox覆盖,而不是在body元素中打开的默认行为 我按照几个stackoverflow线程中的建议,通过更改这一行中的jquery.fancybox.js脚本实现了这一点: this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : 'body' ); this

目前,我在
#main
div中根据需要打开了Fancybox覆盖,而不是在
body
元素中打开的默认行为

我按照几个stackoverflow线程中的建议,通过更改这一行中的jquery.fancybox.js脚本实现了这一点:

this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : 'body' );
this.overlay=$('').appendTo(parent&&parent.length?parent:'body');
为此:

this.overlay = $('<div class="fancybox-overlay"></div>').appendTo( parent && parent.length ? parent : '#main' );
this.overlay=$('').appendTo(parent&&parent.length?parent:'#main');
这用于定位覆盖

我希望Fancybox将所有弹出内容放在覆盖层的中心。但是,打开的第一个Fancybox内容不是以覆盖为中心,而是在
正文
中-这种意外行为有时会将Fancybox内容部分置于覆盖之外。后续的fancybox元素在覆盖层中居中——它只是第一个加载的元素,居中于
主体

显然,Fancybox在计算视口尺寸和使其内容在主体元素内居中方面会遇到相当大的麻烦,但在这种情况下,我希望所有元素都在
#main
div的
.Fancybox overlay
内居中


编辑-将原始jquery.fancybox.js文件中的输入错误“parent.lenth”更改为“parent.length”——正如下面的djehrame所指出的那样。行为不可原谅地持续

你确定这不仅仅是打字错误吗?parent.lenth应该是parent.lengthThank-很遗憾,更正该拼写错误不会改变行为。但是你是对的,我刚下载的原始jquery.fancybox.js文件中也有输入错误。更清楚的是,覆盖层的位置确实正确。正是其中的内容定位不正确。我不确定,但我相信Fancybox会根据覆盖位置计算内容位置,因为内容定位在后续元素上的效果与预期一样。点击本例中的“选项”查看FancyBox您是否尝试过
parent
API选项?检查这个,特别是2号