[jQuery] 움직이는 팝업 레이어 만들기[jQuery] 움직이는 팝업 레이어 만들기
Posted at 2018. 5. 29. 16:27 | Posted in JavaScript & jQuery/jQuery■ jQuery :: draggable을 이용한 움직이는 모달 창 만들기
01. jQuery :: draggable();
jQuery의 draggable은 선택한 레이어를 클릭 드래그 할 수 있게 만들어 주는 기능이다.
해당 포스팅은 draggable을 사용하여특정 레이어를 팝업하고 움직일 수 있는 dialog기능과 같은 모달, 팝업창을 띄우려고 한다.
jQuery UI 데모페이지의 예제 소스는 아래와 같다.
<html lang="en"> |
참고 : https://jqueryui.com/draggable/
02. CSS :: position
position 프로퍼티는 레이어를 겹치거나, 특정 위치에 나오게끔 지정하기위해 사용된다.
해당 포스팅에서는 팝업창의 위치를 띄울 absolute와 닫기버튼의 위치지정을위해 static을 사용하였다.
참고 : http://ko.learnlayout.com/position.html
① position:static
static은 기본값이다. position:static;이 설정된 엘리먼튼느 그다지 특별한 방식으로 위치가 지정된 것이 아니다.
정적(static) 엘리먼트는 위치가 지정된 것이 아니라고 표현하며, static이 아닌 다른 값으로 지정된 엘리먼트에 대해 위치가 지정되었다고 표현한다.
② position:absolute
absolute는 뷰포트에 상대적으로 위치가 지정되는게 아니라 가장 가까운곳에 위치한 조상 엘리먼트에 상대적으로 위치가 지정된다.
절대위치가 지정된 엘리먼트가 기준으로 삼는 조상 엘리먼트가 없으면 문서 본문(document body)을 기준으로 삼고, 페이지 스크롤에 따라 움직인다.
# 소스코드
<html> |
# 출력결과
위 이미지와 같이 창을 팝업하면 클릭 드래그 하여 브라우저 이곳저곳으로 움직일 수 있다.
☞ 이어지는 글 : [jQuery] 팝업 창 외에 다른 항목 선택 불가 필름 만들기
'JavaScript & jQuery > jQuery' 카테고리의 다른 글
[jQuery] 클릭 드래그 방식으로, 테이블 위치 이동, 변경하기 (0) | 2018.08.09 |
---|---|
[jQuery] SNS 공유 팝업창 제작(심화) (0) | 2018.06.07 |
[jQuery] 따라다니는플로팅 배너 제작 (0) | 2018.04.23 |
[jQuery] 선택 날짜를 태그로 생성하는 모듈 (0) | 2018.04.19 |
[jQuery] 테이블(TABLE) 행(ROW) 순서위치 이동시키기 (2) | 2018.03.22 |
[jQuery] 따라다니는플로팅 배너 제작[jQuery] 따라다니는플로팅 배너 제작
Posted at 2018. 4. 23. 10:07 | Posted in JavaScript & jQuery/jQuery■ CSS :: position 속성을 이용한 쫒아다니는 윙 배너 제작
#01 position : static
-. static은 기본값이다.
-. position:static;이 설정된 엘리먼트는 위치가 지정된 것이 아니다.
-. 정적(static) 엘리먼트는 위치가 지정된 것이 아니라고 표현하며
-. static이 아닌 다른 값으로 지정된 엘리먼트에 대해 위치가 지정됐다고 표현한다.
#02 position : fixed
-. 고정(fixed) 엘리먼트는 뷰포트(viewport)에 상대적으로 위치가 지정되는데, 이는 페이지가 스크롤되더라도 늘 같은 곳에 위치한다는 뜻이다.
-. top이나 right, bottom, left 프로퍼티가 사용된다.
# 소스코드
<html> // 브라우저 화면 스크롤의 현재 높이가 플로팅 배너의 높이보다 클경우 if(jQuery(window).scrollTop() > jQuery(".banner").offset().top) { jQuery("#chase").css("position", "fixed"); } // 브라우저 화면 스크롤 현재 높이가 플로팅 배너의 높이보다 작을경우 else if((jQuery(window).scrollTop() < jQuery(".banner").offset().top)) { } |
# 출력결과
'JavaScript & jQuery > jQuery' 카테고리의 다른 글
[jQuery] SNS 공유 팝업창 제작(심화) (0) | 2018.06.07 |
---|---|
[jQuery] 움직이는 팝업 레이어 만들기 (0) | 2018.05.29 |
[jQuery] 선택 날짜를 태그로 생성하는 모듈 (0) | 2018.04.19 |
[jQuery] 테이블(TABLE) 행(ROW) 순서위치 이동시키기 (2) | 2018.03.22 |
[jQuery] AJAX를 사용한 파일 업로드 (1) | 2018.03.18 |
[jQuery] 선택 날짜를 태그로 생성하는 모듈[jQuery] 선택 날짜를 태그로 생성하는 모듈
Posted at 2018. 4. 19. 11:26 | Posted in JavaScript & jQuery/jQuery■ 날짜 태그 생성하기
-. UI개발중 특정 날짜를 선택하면 그 날짜값을 태그로 생성하는 기능이 필요하게 되어 개발 후 정리한다.
-. 아래 예제 소스코드를 실행하기 위해서는 반드시 jQuery-ui에 대한 세팅이 필 수 불가결 하다.
# 소스코드
<html> <head> <title>:: 날짜 태그 추가하기 ::</title> <link rel="stylesheet" type="text/css" href="http://localhost/jquery-ui-1.12.1.custom/jquery-ui-1.12.1.min.css"> <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"></script> <script type="text/javascript" src="http://localhost/jquery-ui-1.12.1.custom/jquery-ui-1.12.1.min.js"></script> <script type="text/javascript" src="http://localhost/jquery-ui-1.12.1.custom/jquery.ui.datepicker-ko.js"></script> <style type="text/css"> #choiceDate { width:100px; text-align:center; } #tagBox { border:2px solid #75DBE7; border-radius:5px; padding-top:10px; padding-left:10px; padding-right:10px; padding-bottom:10px; width:600px; height:300px; }
.daysTag{ float:left; border-radius:5px; background-color:#7CBAC1; height:15px; margin-left:5px; margin-bottom:5px; padding-top:3px; padding-left:5px; padding-right:5px; padding-bottom:2px; font-size:13px; font-weight:bold; color:#FFFFFF; display:flex; justify-content:center; align-items:center; } .delIcon { width:14px; height:14px; } </style> <script type="text/javascript"> jQuery(document).ready(function() { jQuery("#choiceDate").datepicker(); }); function dayTagProduction(day) {
var getOut = true; // 이미 등록한 날짜가 있는지 확인한다. jQuery(".choiceDay").each(function(idx) { if(jQuery(".choiceDay").eq(idx).val() == day) { alert(day + "일은 이미 추가된 날짜입니다."); getOut = false; return false; } }); if(getOut == true) {
// 등록한 날짜가 없다면 날짜태그를 추가한다. var tag = ""; tag += "<a href='javascript:;' onClick='dayTagRemove(this);'>"; tag += "<div class='daysTag'>"; tag += day; tag += " <img class='delIcon' src='x_icon.png'/>"; // 실제로 생성된 값을 입력하기 위한 hidden 타입 설정 tag += "<input type='hidden' class='choiceDay' name='choiceDay[]' value='" + day + "'/>"; tag += "</div>"; tag += "</a>"; jQuery("#tagBox").append(tag); } else { // 등록한 날짜가 존재한다면 날짜태그를 생성하지 않는다. return false; } }
// 생성된 날짜태그를 제거한다. function dayTagRemove(tag) { var idx = jQuery(tag).index(); var day = jQuery(".choiceDay").eq(idx).val(); if(confirm(day + " 날짜를 삭제 하시겠습니까?") == true) { jQuery(tag).remove(); } jQuery("#tagBox").append(tag); } </script> </head> <body> <h2>날짜 태그 추가하기</h2> <input type="text" id="choiceDate" onChange="dayTagProduction(this.value);" value=""/> <div style="height:20px;"></div> <div id="tagBox"></div> </body> </html> |
# 출력결과
'JavaScript & jQuery > jQuery' 카테고리의 다른 글
[jQuery] 움직이는 팝업 레이어 만들기 (0) | 2018.05.29 |
---|---|
[jQuery] 따라다니는플로팅 배너 제작 (0) | 2018.04.23 |
[jQuery] 테이블(TABLE) 행(ROW) 순서위치 이동시키기 (2) | 2018.03.22 |
[jQuery] AJAX를 사용한 파일 업로드 (1) | 2018.03.18 |
[jQuery] 쇼핑몰 대표 이미지 상품박스 (0) | 2018.03.14 |
[JavaScript] 카드번호 입력폼 예제[JavaScript] 카드번호 입력폼 예제
Posted at 2018. 4. 18. 10:05 | Posted in JavaScript & jQuery/JavaScript■ 16자리(4x4) 카드번호 입력폼
아래 예제는 텍스트 박스 입력시 maxlength에 지정된 숫자를 체크하고 그 갯수만큼의 문자열이 채워지면
nextElementSibling.focus()를 통해 자동으로 다음 텍스트 박스로 이동하게 된다.
# 소스코드
<html> <head> <title>:: 숫자 다음 TEXT 이동 ::</title> <style type="text/css"> .moveNumber { text-align:center; width:40px; }; </style> <script type="text/javascript"> function inputMoveNumber(num) { if(isFinite(num.value) == false) { max = num.getAttribute("maxlength"); if(num.value.length >= max) { num.nextElementSibling.focus(); } } </script> </head> <body> <h2>카드 번호</h2> <input type="text" class="moveNumber" onKeyup="inputMoveNumber(this);" maxlength="4"/> - <input type="text" class="moveNumber" onKeyup="inputMoveNumber(this);" maxlength="4"/> - <input type="text" class="moveNumber" onKeyup="inputMoveNumber(this);" maxlength="4"/> - <input type="text" class="moveNumber" maxlength="4"/> </body> </html> |
# 출력결과
■ 카드 유효기간(MM/YY) 입력폼
다음은 MM/YY형태의 카드 유효기간을 입력하는 입력폼이다.
기본적으로 MM/YY형태의 숫자 4자리를 입력하면 자동으로 슬래시( / )기호가 삽입되게끔 제작되었다.
<html> // 현재 날짜 값을 구한다. var nowDate = new Date(); var nowMonth = autoLeftPad(nowDate.getMonth() + 1, 2); var nowYear = autoLeftPad(nowDate.getFullYear().toString().substr(2, 2), 2);
// 입력한 유효기간을 현재날짜와 비교하여 사용 가능 여부를 판단한다. // 1자리 문자열의 경우 앞자리에 숫자 0을 자동으로 채워 00형태로 출력하기위한 함수 |
# 출력결과
# 예외처리
'JavaScript & jQuery > JavaScript' 카테고리의 다른 글
[JavaScript] Session 데이터 읽고, 쓰기 (0) | 2018.09.04 |
---|---|
[JavaScript] Cookie 생성, 삭제 및 읽어오기 (4) | 2018.09.03 |
[JavaScript] 전화번호 Hyphen(-)기호 자동 삽입 (7) | 2018.08.21 |
[JavaScript] 천단위 이상의 입력값에 자동콤마( , ) 삽입 (0) | 2018.08.20 |
[JavaScript] 시간(HH:MM)만을 입력하는 텍스트 박스 (3) | 2018.08.17 |