如何使弹出窗口在屏幕上居中
要使弹出窗口在屏幕上居中,我们可以利用 JavaScript 的 window.open 函数和一些额外的计算来确定准确的位置基于当前屏幕分辨率的 x 和 y 坐标。
单/双显示器功能
对于单显示器和双显示器设置,以下函数可以有效地将弹出窗口水平居中,同时考虑到它没有完全最大化的可能性:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | <code class = "javascript" > const popupCenter = ({url, title, w, h}) => {
const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;
const width = window.innerWidth || document.documentElement.clientWidth || screen.width;
const height = window.innerHeight || document.documentElement.clientHeight || screen.height;
const systemZoom = width / window.screen.availWidth;
const left = (width - w) / 2 / systemZoom + dualScreenLeft
const top = (height - h) / 2 / systemZoom + dualScreenTop
const newWindow = window.open(url, title,
`
scrollbars=yes,
width=${w / systemZoom},
height=${h / systemZoom},
top=${top},
left=${left}
`
)
if (window.focus) newWindow.focus();
}</code>
|
登录后复制
使用示例
以屏幕分辨率 900x500 居中弹出窗口,标题为“XTF”:
1 | <code class = "javascript" >popupCenter({url: 'http://www.xtf.dk' , title: 'XTF' , w: 900, h: 500});</code>
|
登录后复制
以上是如何在单显示器和双显示器设置中使弹出窗口在屏幕上居中?的详细内容。更多信息请关注PHP中文网其他相关文章!