>  기사  >  웹 프론트엔드  >  JavaScript를 사용하여 팝업 창을 화면 중앙에 어떻게 배치할 수 있나요?

JavaScript를 사용하여 팝업 창을 화면 중앙에 어떻게 배치할 수 있나요?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-30 10:30:02814검색

How Can I Center a Popup Window on the Screen Using JavaScript?

팝업 창 중앙에 배치

JavaScript의 window.open 기능을 사용하면 팝업 창을 화면 중앙에 배치할 수 있습니다. 창이 나타날 정확한 좌표(x 및 y)는 현재 화면 해상도에 따라 다릅니다.

교차 플랫폼 솔루션

다음 솔루션은 두 가지 모두에 적용됩니다. 단일 및 듀얼 모니터 설정:

<code class="js">const popupCenter = ({ url, title, w, h }) => {
  // Adjust for dual-screen positions
  const dualScreenLeft = window.screenLeft || window.screenX;
  const dualScreenTop = window.screenTop || window.screenY;

  // Get the screen size
  const width = window.innerWidth || document.documentElement.clientWidth || screen.width;
  const height = window.innerHeight || document.documentElement.clientHeight || screen.height;

  // Calculate the scaling factor
  const systemZoom = width / window.screen.availWidth;

  // Calculate the window's position
  const left = (width - w) / 2 / systemZoom + dualScreenLeft;
  const top = (height - h) / 2 / systemZoom + dualScreenTop;

  // Open the popup window
  const newWindow = window.open(url, title, `
    scrollbars=yes,
    width=${w / systemZoom},
    height=${h / systemZoom},
    top=${top},
    left=${left}
  `);

  // Focus the new window
  if (window.focus) newWindow.focus();
};</code>

사용 예

<code class="js">popupCenter({
  url: 'http://www.xtf.dk',
  title: 'xtf',
  w: 900,
  h: 500,
});</code>

크레딧

이 솔루션이 적용되었습니다. http://www.xtf.dk/2011/08/center-new-popup-window-even-on.html에서.

위 내용은 JavaScript를 사용하여 팝업 창을 화면 중앙에 어떻게 배치할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.