지난시간에 작성했던 js002.html 내용을 복사해서 js003.html 파일을 만들어보자.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="alert" class="alert-box" >
알림창
<button onclick="alertClose()">닫기</button>
</div>
<button onclick="alertPopup()">알림창을 보여줘!</button>
</body>
<script>
function alertPopup(){
document.getElementById('alert').style.display = 'block'
}
function alertClose(){
document.getElementById('alert').style.display = 'none'
}
</script>
</html>
이번 시간에는 파라미터(parameter) 라는 것을 사용해서 코드 중복을 줄이고 더 간결하게 작성해보자.
이렇게 alertPopup과 alertClose에 내용이 달랑 마지막 'block' , 'none' 만 다른데 이렇게 코드를 6줄이나 짜는게 마음에 안듭니다.
그래서 이 두 함수를 하나로 합쳐 볼 겁니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="alert" class="alert-box" >
알림창
<button onclick="alertControl('none')">닫기</button>
</div>
<button onclick="alertControl('block')">알림창을 보여줘!</button>
</body>
<script>
function alertControl(파라미터){
document.getElementById('alert').style.display = 파라미터;
}
</script>
</html>
이렇게 간단하게 Javascript 코드를 절반으로 줄였습니다.
이런 파라미터는 여러 개를 사용 할 수도 있습니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="alert" class="alert-box" >
알림창
<button onclick="alertControl2('alert','none')">닫기</button>
</div>
<div id="alert2" class="alert-box" style="background-color: crimson">
알림창
<button onclick="alertControl2('alert2','none')">닫기</button>
</div>
<button onclick="alertControl('block')">알림창을 보여줘!</button>
</body>
<script>
function alertControl(파라미터){
document.getElementById('alert').style.display = 파라미터;
document.getElementById('alert2').style.display = 파라미터;
}
function alertControl2(파라미터1, 파라미터2){
document.getElementById(파라미터1).style.display = 파라미터2;
}
</script>
</html>
✨ 과제. js004.html 파일을버만들어서 alert창 하나와버튼을 두개 만들고 버튼별로 alert 창의 색상이 바뀌게 만들어보자.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="main.css">
</head>
<body>
<div id="alert" class="alert-box" >
알림창
<button onclick="alertControl('none')">닫기</button>
</div>
<button onclick="">버튼 1 </button>
<button onclick="">버튼 2</button>
</body>
<script>
</script>
</html>