Lightbox 2在哪里定位弹出窗口的逻辑是什么?

leo*_*ora 2 javascript css lightbox2 prototypejs

Lightbox 2在哪里定位弹出窗口的逻辑是什么?

似乎在使用Firefox或Chrome时,它会显示在不同页面的不同位置.是否有任何设置让它在每个页面上以相同的高度显示以保持一致性?

它用于确定定位的CSS或逻辑是什么?

Res*_*uum 11

它以何种方式显示在不同的地方,您期望的行为是什么,您可以提供样本页面吗?

以下是脚本本身如何计算弹出窗口的顶部位置(灯箱v2.04,zip下载,js/lightbox.js,第229ff行):

// calculate top and left offset for the lightbox 
var arrayPageScroll = document.viewport.getScrollOffsets();
var lightboxTop = arrayPageScroll[1] + (document.viewport.getHeight() / 10);
var lightboxLeft = arrayPageScroll[0];
this.lightbox.setStyle({ top: lightboxTop + 'px', left: lightboxLeft + 'px' }).show();
Run Code Online (Sandbox Code Playgroud)

由于脚本使用Prototype的document.viewport对象,脚本将弹出窗口定位在当前滚动位置的10%位置,如下所示:

------- page start
|
|
|
|
|
------- scroll position top
|
------- start of lightbox popup
|
|
|
|
|
|
|
|
------ scroll position bottom
|
|
|
|
------ page end
Run Code Online (Sandbox Code Playgroud)