elFly.addEventListener('click', (event) => {
let body = document.body;
recursion(body, event.target);
})
// 아래는 재귀함수 구현(Tree에서 특정 값을 탐색하는 과정[O(n)]을 통해 특정 값을 제거해주는 로직
function recursion(el, target) {
let arr = Array.prototype.slice.call(el.childNodes);
if (arr.includes(target)) {
for (let element of arr) {
if (element === target) {
return el.removeChild(target);
}
}
} else {
for (let element of arr) {
let result = recursion(element, target);
if (result) {
return true;
}
}
}
}
// Fly.js
Fly.prototype.lineUp = function () {
if (this.linedUp) {
Object.assign(this.$node.style, {
top: `${this.top}px`,
left: `${this.left}px`,
})
this.linedUp = false;
} else {
Object.assign(this.$node.style, {
top: `280px`
})
this.linedUp = true;
}
// 아래 부분은 init.js
document.querySelector('.lineUpButton').onclick = () => {
dancers.forEach((dancer) => dancer.lineUp())
}
}