Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Lightbox 2在弹出窗口位置的逻辑是什么?_Javascript_Css_Prototypejs_Lightbox2 - Fatal编程技术网

Javascript Lightbox 2在弹出窗口位置的逻辑是什么?

Javascript Lightbox 2在弹出窗口位置的逻辑是什么?,javascript,css,prototypejs,lightbox2,Javascript,Css,Prototypejs,Lightbox2,将弹出窗口放置在何处的逻辑是什么 似乎当使用Firefox或Chrome时,它会出现在不同页面的不同位置。是否有任何设置使其在每页上显示在相同的高度以保持一致性 它用来确定位置的CSS或逻辑是什么?它以什么方式显示在不同的位置,您希望的行为是什么,您能给出一个示例页面吗 #lightbox{ position: absolute; top: 100px !important; /*I foxed it 100px from the top, you could fix it as much pi

将弹出窗口放置在何处的逻辑是什么

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


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

它以什么方式显示在不同的位置,您希望的行为是什么,您能给出一个示例页面吗

#lightbox{
position: absolute;
top: 100px !important; /*I foxed it 100px from the top, you could fix it as much pixels as you wish*/
} 
下面是脚本本身如何计算弹出窗口的顶部位置(lightbox v2.04,zip下载,js/lightbox.js,第229ff行):

在脚本使用时,脚本将弹出窗口放置在当前滚动位置的10%处,如下所示:

------- page start
|
|
|
|
|
------- scroll position top
|
------- start of lightbox popup
|
|
|
|
|
|
|
|
------ scroll position bottom
|
|
|
|
------ page end

您可以尝试Flowplayer:


您可以通过CSS文件将覆盖的位置和大小设置到任何您想要的位置。

我知道这是一个非常古老的线程,但仍然是google搜索结果的前5名。IE/FF给了我很好的效果,但Chrome没有。为了让它们一致

js/lightbox.js的第231行

var lightboxTop = arrayPageScroll[1] + (document.viewport.getHeight() / 10);
改为

var lightboxTop = arrayPageScroll[1] + (100);
不完全是要求的,但是页面现在是一致的


信息取自
lightbox.js的第231行中的,
将除法调整为10到100,如下所示:

------- page start
|
|
|
|
|
------- scroll position top
|
------- start of lightbox popup
|
|
|
|
|
|
|
|
------ scroll position bottom
|
|
|
|
------ page end
document.viewport.getHeight()/100

示例代码:

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

什么样的灯箱2,什么样的框架(如果有的话…)?我在jQuery下使用了一个名为lightbox 2的,它总是居中的(iPhone上除外)。您是否考虑过
“位置:固定;顶部:100px;”
fixed position
生成一个绝对定位的元素,相对于浏览器窗口定位。元素的位置由“左”、“上”、“右”和“下”属性指定。。。这里的问题是,如果我必须向下滚动页面,它会在屏幕上显示框。我现在需要的是相对于页面顶部的100px。我知道这不能回答上面的问题。希望其他人发现它对他们自己的开发工作有帮助