오늘은 반복문을 이용하여 버튼 3개를 만들고, 각 버튼에 id를 부여하여 3개중 어느 하나를 클릭 했을 때 자신에게 맞는 이벤트가 발생하게 하는 프로그래밍을 해보자.
말로 설명하기 디게 어려우니, 사진으로 하나씩 차근차근 설명해보자.
위 사진에서, 아래의 사진과 같이 구현하고 싶다는 뜻이다.
1. 첫 번째 버튼을 클릭했을 때,
2. 두 번째 버튼 클릭 시,
3. 세 번째 버튼 클릭 시,
요렇게 말이다.
우선 첫 번째로 할 일은, 각 버튼을 for 반목문을 이용하여 만들면서, 각각에 id를 줄 수 있어야 한다. 나 같은 경우는, for 문을 돌면서 버튼을 생성하면서, 'btn' + i 라는 id를 부여했다.
1
2
3
4
5
6
7
8
9
|
for (var i in prediction) {
var predictionBoxButton = document.createElement('div');
predictionBoxButton.innerHTML = '<i class="fas fa-chevron-down"></i>';
predictionBoxButton.id = 'btn' + i;
predictionBoxButton.className = 'my_prediction_button_down';
predictionBox.appendChild(predictionBoxButton);
}
|
그래서 각 버튼은 btn0, btn1, btn2 라는 id를 가질 수 있게 되었다.
그리고 이 기능을 구현하면서 하나 배운 것은 [id^=btn] 이라는 것이다. 이는 정규식 표현이고, 아이디에 btn이 들어가 있는 녀석을 지칭하는 코드이다.
var id = $(this.attr("id) ---> 클릭 된 버튼의 id를 가져와서 저장해준다.
var btnDiv = document.getElementById(id)는 btnDiv에 버튼 자체를 저장한다.
사실 위는 onclick 이벤트안에서 this를 사용해주어도 똑같지만, 다시 서랍을 접는 버튼 (위로 화살표 버튼)을 눌렀을 때 아래로 화살표 버튼을 다시 show 해줘야할 때 필요하다.
사진 처럼 말이다.
여기서 this는 위로 화살표 버튼을 가르키기 때문에, btnDiv를 미리 저장해주고, 여기서 show 기능을 사용해주도록 한다.
이 포스팅을 보시는 분 중 제가 틀린 부분, 잘못 이해한 부분이 있어 알려주실만한 내용이 있다면 언제든 편하게 댓글 남겨주세요 :)
감사합니다 !
'비개발자, CPO가 되기까지' 카테고리의 다른 글
19.12.17 개발기록 -[Javascript] 개발 중 비동기로 인한 이슈 사항 (0) | 2019.12.18 |
---|---|
19.12.16 개발기록 -[Javascript] switch 조건문을 이용하던 중 오늘 내가 한 실수 기록. (0) | 2019.12.17 |
19.12.12 개발기록 -[Javascript] 게시물 상황에 맞는 class 부여하기. (0) | 2019.12.13 |
19.12.11 개발기록 -[Javascript] 화면 전환 버튼 구현하기 (0) | 2019.12.11 |
19.12.09 개발기록 -[CSS] text가 width를 넘어가면 말 줄임표(...) 으로 표현되게 하기 (0) | 2019.12.09 |
댓글