OffCanvas 메뉴 / Toggle 패널 UI 미션 질문드립니다
조회수 644회
https://codepen.io/haeunii_k/pen/EGGoxQ?editors=1010
미션 수행중 코드펜에서 이런식으로 경고 문구가 뜨는데 어디서 무한루프가 발생한건지 잘 모르겟어서요 ... 이것때문인지 코드펜 dashboard도 로딩으로만 뜨고 잘 작동하지 않아서 문제가 무엇인지 몰라서 질문 올립니다.
Infinite loop found on line 0. The line number is approximated so look carefully.
var open_canvas = el('.button.is-open');
var app_nav = el('.app-navigation');
var close_canvas = el('.button.is-close-menu');
open_canvas.addEventListener('click', open_nav);
close_canvas.addEventListener('click', close_nav);
function open_nav(e){
app_nav.hidden = false;
app_nav.classList.add('is-active');
};
function close_nav(e){
app_nav.hidden = true;
app_nav.classList.remove('is_active');
};
var menu_item =els('.ediya-menu__item');
for(var i=0; menu_item.length; i++){
var item = menu_item[i];
var link = el('a', item);
link.addEventListener('click', openPanel);
var close_btn = el('.button.is-close-panel',item);
close_btn.addEventListener('click', closePanel);
};
function openPanel(e){
e.preventDefault();
var menu_detail = el('.ediya-menu__item--detail',this.parentNode);
menu_detail.hidden = false;
menu_detail.classList.add('is-active');
};
function closePanel(e){
e.preventDefault();
var menu_detail = this.parentNode;
menu_detail.hidden = true;
menu_detail.classList.remove('is-active');
};
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
2 답변
-
for문 종료 조건을 확인해주세요.
for(var i=0; menu_item.length; i++) // (X) - length가 1 이상이면 truthy 이므로 무한 루프
for(var i=0; i < menu_item.length; i++) // (O)
-
소스상 루프는
for
문이 유일한데 조건식 부분이 이상하네요.// 이 부분을 for (var i=0; menu_item.length; i++) { /* 생략 */ } // 이렇게 수정하셔야 할걸요 for (var i=0; i < menu_item.length; i++) { /* 생략 */ }
댓글 입력