<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>회원가입(jQuery)</title>
<!-- css 파일을 불러오는 코드 -->
<!-- 아이콘 사용을 위한 Font Awesome 6 CDN -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css">
<!-- 구글 웹 폰트 사용을 위한 CDN -->
<!-- 내가 만든 CSS 파일-->
<link rel="stylesheet" type="text/css" href="./css/reset.css">
<link rel="stylesheet" type="text/css" href="./css/commons.css">
<link rel="stylesheet" type="text/css" href="./css/test.css">
<style>
/*
진행바 디자인
*/
.progressbar {
width: 100%;
height: 5px;
}
.progressbar > .guage {
width: 0%;
height: 100%;
background: rgb(131,58,180);
background: linear-gradient(90deg, rgba(131,58,180,1) 0%, rgba(253,29,29,1) 50%, rgba(252,176,69,1) 100%);
/* 스르륵 */
transition: width 0.1s ease-out;
}
</style>
<!-- jquery cdn -->
<script src="multipage.js"></script>
<script src="join.js"></script>
<!-- javascript 작성 공간 -->
<script>
$(function(){
//최초 게이지 계산
refreshProgressbar();
//이전이나 다음버튼을 누르면 진행상황을 파악하여 게이지 계산
$(".btn-prev, .btn-next").click(function(){
refreshProgressbar();
});
function refreshProgressbar() {
//page중에 보여지는 태그를 찾아서 계산
//- 전체 페이지 수 + 보여지는 페이지 번호
var count = 0;
var index = 0;
$(".page").each(function(idx, el){
//if(현재 태그가 표시중이라면) {
if($(this).is(":visible")) {
index = idx+1;
}
count++;
});
var percent = index * 100 / count;
$(".progressbar > .guage").css("width", percent+"%");
}
});
</script>
</head>
<body>
<div class="container w-600">
<div class="row">
<h1>회원 정보 입력</h1>
</div>
<!-- 전체 진행단계를 알 수 있는 게이지 출력 -->
<div class="row">
<div class="progressbar">
<div class="guage"></div>
</div>
</div>
<!-- 1단계 : 아이디+비밀번호+확인 -->
<div class="row page">
<div class="row">
<h2>1단계 : 아이디/비밀번호</h2>
</div>
<div class="row left">
<label>아이디 <i class="fa-solid fa-asterisk red"></i></label>
<input type="text" name="memberId" placeholder="영문 소문자, 숫자 5~20자"
class="form-input w-100">
<div class="success-feedback">멋진 아이디입니다!</div>
<div class="fail-feedback">아이디를 형식에 맞게 입력하세요</div>
<div class="fail2-feedback">이미 사용중인 아이디입니다</div>
</div>
<div class="row left">
<label>비밀번호 <i class="fa-solid fa-asterisk red"></i></label>
<input type="password" name="memberPw"
placeholder="영문,숫자,특수문자 반드시 1개 이상 포함"
class="form-input w-100">
<div class="success-feedback">올바른 비밀번호 형식입니다</div>
<div class="fail-feedback">잘못된 비밀번호 형식입니다</div>
</div>
<div class="row left">
<label>비밀번호 확인 <i class="fa-solid fa-asterisk red"></i></label>
<input type="password" id="password-check"
placeholder="비밀번호 한 번 더 입력" class="form-input w-100">
<div class="success-feedback">비밀번호가 일치합니다</div>
<div class="fail-feedback">비밀번호가 일치하지 않습니다</div>
<div class="fail2-feedback">비밀번호를 먼저 작성하세요</div>
</div>
<div class="row right">
<button type="button" class="btn btn-prev">
<i class="fa-solid fa-arrow-left"></i>
</button>
<button type="button" class="btn btn-next">
<i class="fa-solid fa-arrow-right"></i>
</button>
</div>
</div>
<!-- 2단계 : 닉네임 -->
<div class="row page">
<div class="row">
<h2>2단계 : 닉네임</h2>
</div>
<div class="row left">
<label>닉네임</label>
<input type="text" name="memberNickname"
placeholder="한글 또는 숫자 2~10자" class="form-input w-100">
<div class="success-feedback">멋진 닉네임입니다!</div>
<div class="fail-feedback">닉네임 형식이 올바르지 않습니다</div>
<div class="fail2-feedback">닉네임이 이미 사용중입니다</div>
</div>
<div class="row right">
<button type="button" class="btn btn-prev">
<i class="fa-solid fa-arrow-left"></i>
</button>
<button type="button" class="btn btn-next">
<i class="fa-solid fa-arrow-right"></i>
</button>
</div>
</div>
<!-- 3단계 : 이메일+연락처 -->
<div class="row page">
<div class="row">
<h2>3단계 : 연락 가능한 정보</h2>
</div>
<div class="row left">
<label>이메일</label>
<input type="text" name="memberEmail"
placeholder="test@kh.com" class="form-input w-100">
<div class="fail-feedback">이메일 형식이 잘못되었습니다</div>
</div>
<div class="row left">
<label>연락처</label>
<input type="tel" name="memberContact" placeholder="010XXXXXXXX (- 없이)"
class="form-input w-100">
<div class="fail-feedback">전화번호 형식이 올바르지 않습니다</div>
</div>
<div class="row right">
<button type="button" class="btn btn-prev">
<i class="fa-solid fa-arrow-left"></i>
</button>
<button type="button" class="btn btn-next">
<i class="fa-solid fa-arrow-right"></i>
</button>
</div>
</div>
<!-- 4단계 : 생년월일-->
<div class="row page">
<div class="row">
<h2>4단계 : 생년월일</h2>
</div>
<div class="row left">
<label>생년월일</label>
<input type="date" name="memberBirth" class="form-input w-100">
<div class="fail-feedback">잘못된 날짜를 선택하셨습니다</div>
</div>
<div class="row right">
<button type="button" class="btn btn-prev">
<i class="fa-solid fa-arrow-left"></i>
</button>
<button type="button" class="btn btn-next">
<i class="fa-solid fa-arrow-right"></i>
</button>
</div>
</div>
<!-- 5단계 : 주소 -->
<div class="row page">
<div class="row">
<h2>5단계 : 주소</h2>
</div>
<div class="row left">
<label style="display: block;">주소</label>
<input type="text" name="memberPost" placeholder="우편번호"
class="form-input" size="6" maxlength="6">
<button type="button" class="btn">
<i class="fa-solid fa-magnifying-glass"></i>
</button>
<input type="text" name="memberAddr1" placeholder="기본주소"
class="form-input w-100 mt-10">
<input type="text" name="memberAddr2" placeholder="상세주소"
class="form-input w-100 mt-10">
<div class="fail-feedback">모든 주소를 작성해주세요</div>
</div>
<div class="row right">
<button type="button" class="btn btn-prev">
<i class="fa-solid fa-arrow-left"></i>
</button>
<button type="button" class="btn btn-next">
<i class="fa-solid fa-arrow-right"></i>
</button>
<button type="submit" class="btn btn-positive">가입하기</button>
</div>
</div>
</div>
</form>
</body>
</html>
'Javascript' 카테고리의 다른 글
회원가입(jQuery) 바형태의 최종디자인 (1) | 2023.10.30 |
---|---|
카카오 지도 API (0) | 2023.10.27 |
멀티 페이지(JQuery) (1) | 2023.10.25 |
전체선택과 개별체크박스에 대한 이벤트 구현(JQuery) (0) | 2023.10.24 |
체크박스 제어(JQuery) (0) | 2023.10.23 |