[ JavaScript ] 지하철 요금 계산기 만들기
2024. 5. 3. 19:17ㆍ· FRONT-END/└ JS
환경 : Visual Studio Code
[ 주요 코드 ]
<script type="text/javascript">
function calculatePrice(){
/* 입력
- 계산에 필요한 태그와 그 정보를 수집한다
- input 태그와 그 입력값
*/
var inputTarget = document.querySelector("input[name=birth]");
//var inputValue = inputTarget.value;//(주의) 입력값은 문자열
var inputValue = parseInt(inputTarget.value);//정수로 변환
//계산
var age = new Date().getFullYear() - inputValue + 1;
//console.log("age = " + age);
var price;
if(age >= 65 || age < 8) {
price = 0;
}
else if (age >= 14) {
price = 1500;
}
else {
price = 500;
}
//출력 - 지정된 영역에 글자를 설정하거나 효과를 부여
//console.log("price = " + price);
var sapnTarget = document.querySelector(".result");
sapnTarget.textContent = price;
}
</script>
(+) var inputValue = parseInt(inputTarget.value); //정수로 변환
└ (중요) inputTarget에 들어있는 값을 정수로 변환해주기!!
(+) 조건을 줘서 각 조건에 맞는 금액을 출력하도록 설정하기
[ 전체 코드 ]
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Javascript 예제</title>
<!-- 구글 폰트 -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&display=swap" rel="stylesheet">
<!-- 내가 구현할 스타일 -->
<link rel="stylesheet" type="text/css" href="../css/commons.css">
<link rel="stylesheet" type="text/css" href="../css/test.css">
<!-- font awesome 아이콘 CDN -->
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
<style>
</style>
<!-- javascript를 의도적으로 head 자리에 배치해서 가장 먼저 실행되도록 구현 -->
<script type="text/javascript">
function calculatePrice(){
/* 입력
- 계산에 필요한 태그와 그 정보를 수집한다
- input 태그와 그 입력값
*/
var inputTarget = document.querySelector("input[name=birth]");
//var inputValue = inputTarget.value;//(주의) 입력값은 문자열
var inputValue = parseInt(inputTarget.value);//정수로 변환
//계산
var age = new Date().getFullYear() - inputValue + 1;
//console.log("age = " + age);
var price;
if(age >= 65 || age < 8) {
price = 0;
}
else if (age >= 14) {
price = 1500;
}
else {
price = 500;
}
//출력 - 지정된 영역에 글자를 설정하거나 효과를 부여
//console.log("price = " + price);
var sapnTarget = document.querySelector(".result");
sapnTarget.textContent = price;
}
</script>
</head>
<body>
<div class="container w-500">
<div class="cell center">
<h1>지하철 요금 계산기</h1>
</div>
<div class="cell">
<!-- <label>생년월일(ex: 1999)</label> -->
<input type="text" name="birth" class="tool w-100" placeholder="생년월일(ex: 1999)">
</div>
<div class="cell">
<button class="btn positive w-100" onclick="calculatePrice();">
<i class="fa-solid fa-coins"></i>
요금 계산하기
</button>
</div>
<hr>
<div class="cell right">
<h2>지불하실 금액은 <span class="result Rose">0</span>원</h2>
</div>
</div>
</body>
</html>
개인 공부 기록용입니다:)
728x90
'· FRONT-END > └ JS' 카테고리의 다른 글
[ JavaScript ] 스크립트에서 폰트 조절하기 (0) | 2024.05.05 |
---|---|
[ JavaScript ] style 제어하기 (0) | 2024.05.04 |
[ JavaScript ] 입력 창의 정보를 읽어 출력하기 (0) | 2024.05.02 |
[ JavaScript ] 두 영역의 내용 교체하기 (0) | 2024.05.01 |
[ JavaScript ] 전화 키패드 만들어 보기 (태그 제어 이해) (0) | 2024.04.30 |