저는 javascript/jquery에 매우 익숙하며 아직 이해하지 못했습니다. 내가 코드 http://www.w3schools.com/howto/tryit.asp?filename=tryhow_css_js_dropdownJquery 드롭 다운 메뉴 설명
내가가이
window.onclick = function(event) {
if (!event.target.matches('.dropbtn')) {
var dropdowns = document.getElementsByClassName("dropdown-content");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
에 대한 거의 모든 것을 이해하는 의미의 일부를 이해할 수없는 것, 그러나, 나는 jQuery를 사용하여 드롭 다운 메뉴를 배우려고 노력하고있어 나는이 w3school 자습서를 발견
for 루프는 무엇이며 어떻게 작동하는지는 알지만, html 파일에서 divs를 생성 할 때 어떻게 동작하는지 이해할 수 없습니다. 예를 들어 var dropdowns
에는 dropdown-content
클래스의 div가 있습니다. 그럼이 var은 길이 속성과 함께 for 루프에 사용되지만 그 var ..의 길이는 무엇인지 이해가 안돼 1인가요? 그리고 나서이 라인은 var openDropdown = dropdowns[i]
입니까? var i
은 0
이지만 var 드롭 다운에서 무엇이 필요합니까?
그래서 for 루프에서 dropdowns.length는 무엇입니까? 1? 그리고 드롭 다운 [i]은 무엇을 반환합니까? 그것은 '드롭 다운 콘텐츠'div입니까? 게다가 for 루프는 왜 여기에 사용 되는가, 왜 IF 기능이 아닌가? –
예,'dropdown.length' 문'document.getElementsByClassName ("dropdown-content");'에 의해 검색된 객체 배열의 길이를 반환합니다 (여기에 해당 값 1과 추측 하듯이 'dropdown-content'div가 있음). loop for reason은 예에서와 같이 여러 개의 드롭 다운 메뉴를 가질 수 있으므로 일반화 된 예제와 'if'를 사용하는 단일 요소 테스트에 대한 예는 충분합니다. – RohitS