1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| // svg중 bezier 부분 path, 움직일 원, 버튼 4개를 변수로 선언
const bezierControl = document.getElementById('bezier-control');
const ballObj = document.getElementById('ball');
const bezierBtn = document.querySelectorAll('.graph-btn');
// NodeList로 나열된 bezierBtn을 forEach로 풀어주기
bezierBtn.forEach((btn, index) => {
btn.addEventListener('click', () => {
// 버튼 순서대로 클릭시 index값을 통해 if문으로 조작
if(index === 0) {
/*
* 해당 변수 내 요소의 속성값을 변경할 수 있는 메서드.
* (변수).setAttribute(속성명, 속성값);
* */
bezierControl.setAttribute(
// 해당 변수 path 내 포함된 요소 "b"에 대한 속성값을 아래와 같이 변경한다.
"d",
"M10.5 327C73 251.167 243.3 99.5 424.5 99.5C605.7 99.5 776.667 250.833 839.5 326.5"
);
// 추가된 모든 클래스를 제거
ballObj.className = '';
}
else if(index === 1) {
bezierControl.setAttribute(
"d",
"M10.5 327C43.5 327 132 99.5 214.5 99.5C335 99.5 332.5 326.5 839.5 326.5"
);
//추가된 모든 클래스를 제거하고 graph2 클래스를 add
ballObj.className = '';
ballObj.classList.add('graph2');
}
})
})
|