Javascript 打开相对于用户位置的弹出窗口 我如何让一个弹出窗口(基本上是一个隐藏的高Z指数的div)在屏幕中间打开,即使用户向下滚动一点:

Javascript 打开相对于用户位置的弹出窗口 我如何让一个弹出窗口(基本上是一个隐藏的高Z指数的div)在屏幕中间打开,即使用户向下滚动一点:,javascript,css,Javascript,Css,当我使用位置时:绝对;左:50%;最高:50%弹出窗口在屏幕中部打开,但是当用户向下滚动页面时,窗口停留在页面的中间。 当我使用位置时:固定;最高:50%;左:50%窗口未被“卡住”,但它没有位于屏幕中间(如果用户在打开它之前被烧掉,窗口在页面的开头打开,用户必须向上滚动才能看到它)。p> 如何实现这两个目标?打开位于用户当前位置中心的弹出窗口,并在打开后取消粘贴 (当在活动中打开“好友列表”或“参加/不参加列表”时,可以在Facebook上看到此类弹出窗口)。位置:固定;最高:50%;左:5

当我使用
位置时:绝对;左:50%;最高:50%弹出窗口在屏幕中部打开,但是当用户向下滚动页面时,窗口停留在页面的中间。

  • 当我使用
    位置时:固定;最高:50%;左:50%窗口未被“卡住”,但它没有位于屏幕中间(如果用户在打开它之前被烧掉,窗口在页面的开头打开,用户必须向上滚动才能看到它)。p>
  • 如何实现这两个目标?打开位于用户当前位置中心的弹出窗口,并在打开后取消粘贴


    (当在活动中打开“好友列表”或“参加/不参加列表”时,可以在Facebook上看到此类弹出窗口)。

    位置:固定;最高:50%;左:50%;宽度:600px;高度:400px;左边距:-300px;利润上限:-200px
    重要的是左边边距和边距是宽度和高度的负值的一半,以确保弹出窗口正好在屏幕的中间。
    或者,您可以使用
    position:absolute
    并使用JavaScript将
    style.top
    设置为
    (document.body.scrollTop+document.documentElement.scrollTop+100)+“px”
    ,如果您希望它保持在文档中的同一位置,我想这就是您想要的样式。

    您需要某种级别的JavaScript来完成这项工作,因为您需要知道用户视口的尺寸

    您可以将Javascript放入CSS中(千万不要这样做!!!),也可以创建一个实际的Javascript来处理窗口滚动事件