자바스크립트를 사용하여 팝업창을 원하는 위치에 띄우는 방법을 알아봅니다. 일반적으로 중앙에 팝업창을 많이 띄우므로 아래는 중앙에 정렬 기준으로 팝업창 띄우기를 알아봅니다. ! 잠깐. 팝업창은 어디에 띄우는게 좋을까? # 자바스크립트 팝업창을 띄우는 방법 html 팝업창 띄우는 방법 및 고려할 사항들 바로가기 > 그럼 팝업창을 띄우는 방법은 위 링크를 참고하시구요 다음으로 중앙에 정렬시키기 위한 방법을 알아겠습니다. 팝업창의 중앙 정렬은 가로, 세로 중앙으로 아래의 스크린샷 B에 해당하는 위치입니다. ! 팝업창을 중앙에 정렬하여 띄우는 방법팝업창을 띄우기 위해서 자바스크립트의 window 객체의 open() 메소드를 사용해야하죠. 이때 open() 메소드의 인자로 팝업의 위치를 설정할 수 있는데 이 값을 조정하면 팝업창의 중앙 정렬하거나 원하는 어느 위치든 이동이 가능합니다. 다음으로 생각할 부분은 위치의 기준이 어디이냐입니다. 팝업창의 위치는 바로 현재 OS화면(윈도우즈 화면)을 기준으로 수치를 고려해야합니다. 즉 중앙 정렬을 위하여 50%의 값에 해당하는 픽셀 값을 알아야 중앙 정렬이 가능합니다. 그렇다면 현재 윈도우 크기의 중앙 위치를 알고 그 값에서 만들려는 팝업창의 크기만큼 다시 반대쪽으로 1/2 만큼 이동시킨다면? 우리가 원하는 정렬이 가능하겠죠. 다시 말해 여기서 필요한 두 가지 값은 바로 다음과 같습니다.
이제 위와 같이 화면의 크기를 구하는 방법을 아래에서 알아봅니다. ! 현재 OS 화면의 좌우 및 상하 크기 얻기 window.screen.width window.screen.height 현재 제 OS 환경에서는 각각 아래와 1920, 1080의 값을 출력하는군요. 그럼 실제 필요한 코드를 작성해봅니다. 만약 가로 세로 각각 200 x 300의 팝업창을 가운데 띄우려는 경우 아래와 같이 작성할 수 있겠습니다. @ 가로 세로 200 x 300 팝업 가운데 띄우기 var popupWidth = 200; var popupX = (window.screen.width / 2) - (popupWidth / 2); var popupY= (window.screen.height / 2) - (popupHeight / 2); 크기를 구했으니 팝업을 띄워야겠죠. window.open('', '', 'status=no, height=' + popupHeight + ', width=' + popupWidth + ', left='+ popupX + ', top='+ popupY); 여기까지 팝업창의 중앙정렬을 위한 방법을 알아보았습니다. @ 팝업이 여러개인 경우? ! 현재 브라우저의 크기를 기준으로 중앙에 띄우는 방법 var popupX = (document.body.offsetWidth / 2) - (200 / 2); var popupY= (window.screen.height / 2) - (300 / 2); window.open('', '', 'status=no, height=300, width=200, left='+ popupX + ', top='+ popupY); 여기서 변수 popupY는 위의 방법과 동일하게 코드를 적용하였습니다. 그 이유는 문서 길이가 긴 경우 중앙정렬시 화면에서 안보이는 문제가 있기 때문에 좌우만 브라우저 크기를 기준으로 하는 것이 유리하기 때문입니다. 이제 위 코드를 실행하면 브라우저에 맞춰 중간에 위치하게 됩니다. ! 팝업창 가운데 띄우는 예제 동작해 보기그럼 이제 아래 버튼을 눌러보세요. 실제로 해당 페이지가 없으므로 빈페이지가 출력되지만 위치가 원하는 중간에 맞게 나타나는지 확인할 수 있습니다. 개발환경 - IDE : Atom - OS : MacOS 기본적으로 저는 이렇게 사용을 합니다. 앞으로 모든 JavaScript 공부 게시글에는 이런 식으로 작업이 될 것입니다.
저의 다른 강좌를 보시면 위처럼 외부 파일을 링크하는 방식을 알려주는 글이 있습니다. 이 부분을 참고해서 저의 글을 정독해주시면 감사하겠습니다. open();이 함수를 이용하여 특정 url의 페이지를 띄울 수 있습니다.
위와 같이 (URL , 제목 , 옵션); 이처럼 작성이 가능합니다. option 은 아래와 같습니다
아래 더 보기를 눌러 실제 코드와 실행결과를 확인해 보세요. 더보기 JavaScript 코드
실행 결과 alert();이 함수는 경고창을 띄울 수 있습니다.
이처럼 그냥 텍스트만 적어주면 됩니다. 아래 더 보기를 눌러 실제 코드와 실행결과를 확인해 보세요. 더보기 JavaScript 코드
실행 결과 prompt();이 함수는 문자열을 입력할 때 사용됩니다.
위와 같이 ("제목","기본값") 이렇게 prompt 에 입력받은 값은 다른 변수에 저장을 할 수 있습니다.
이렇게 text 에 문자열을 저장 후 alert 을 이용해 출력을 할 수 있습니다. 아래 더보기를 눌러 실제 코드와 실행 결과를 확인해 보세요. 더보기 JavaScript
실행 결과 ( 잘 보이지 않는다면 이미지를 클릭해 주세요. ) confirm();이 함수는 Bolean 값으로 true or false 를 출력을 해 주는 함수 입니다.
이 함수도 prompt() 와 마찬가지로 변수에 값을 저장을 할 수 있고, 출력을 할 수 있습니다. 아래 더보기를 눌러 실제 코드와 실행 결과를 확인해 보세요. 더보기 JavaScript 코드
실행 결과 취소를 누르면 false , 확인을 누르면 true 가 반환되어 choice 라는 변수에 값이 저장이 된다. |