단일 모니터와 듀얼 모니터 설정 모두에서 팝업 창을 화면 중앙에 맞추는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-31 19:11:02
원래의
405명이 탐색했습니다.

How to Center a Popup Window on Screen in Both Single and Dual Monitor Setups?

팝업 창을 화면 중앙에 맞추는 방법

팝업 창을 화면 중앙에 맞추려면 JavaScript의 window.open 기능과 몇 가지 추가 계산을 활용하여 정확한 결과를 결정할 수 있습니다. 현재 화면 해상도를 기준으로 x 및 y 좌표를 지정합니다.

싱글/듀얼 모니터 기능

싱글 및 듀얼 모니터 설정 모두에서 다음 기능은 화면 크기를 고려하면서 팝업 창을 수평으로 중앙에 효과적으로 배치합니다. 완전히 최대화되지 않을 가능성:

<code class="javascript">const popupCenter = ({url, title, w, h}) => {
  // Adjust for dual-screen position
  const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : window.screenX;
  const dualScreenTop = window.screenTop !== undefined ? window.screenTop : window.screenY;

  // Calculate available screen dimensions
  const width = window.innerWidth || document.documentElement.clientWidth || screen.width;
  const height = window.innerHeight || document.documentElement.clientHeight || screen.height;

  // Adjust for system zoom
  const systemZoom = width / window.screen.availWidth;

  // Calculate centered coordinates
  const left = (width - w) / 2 / systemZoom + dualScreenLeft
  const top = (height - h) / 2 / systemZoom + dualScreenTop

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

  // Bring the new window to focus
  if (window.focus) newWindow.focus();
}</code>
로그인 후 복사

사용 예

제목이 "XTF"이고 화면 해상도 900x500에서 팝업 창을 중앙에 배치하려면:

<code class="javascript">popupCenter({url: 'http://www.xtf.dk', title: 'XTF', w: 900, h: 500});</code>
로그인 후 복사

위 내용은 단일 모니터와 듀얼 모니터 설정 모두에서 팝업 창을 화면 중앙에 맞추는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!