addEventListener
Я никак не понимаю, почему код работает, если переменные undefined, как это понимать?
https://jsfiddle.net/hyzLnvgx/1/ |
Какие еще переменные undefined?
|
var item = document.querySelectorAll(".title-accordion")[0];
undefined item undefined |
|
DivMan,
1. У Вас по умолчанию для .main-item-accordion стоит в стилях opacity:0;, т.е. проверка if не нужна. 2. Почитайте про операторы сравнения 3. Почитайте также про display и position. |
Почему не удаляет последний добавленный элемент?
https://jsfiddle.net/o6gwLj9c/ Пишет, то, что это не узел. Почему это не узел, если searchSpan.length-1 это тоже элемент? |
Тут читай потому что https://developer.mozilla.org/en-US/...de/removeChild
searchSpan.length-1 не элемент, а писло. |
DivMan, тебе когда надоест строить свой маня-мирок? Прежде чем подумать, что ты умнее браузера и авторов жабы скрипучей, подумай что может быть это ты тупишь и пойди почитай документацию, благо на этом сайте ее на русском дофига.
|
Как можно исправить, что бы не ругалась консоль при клике на вложенное меню?
http://plnkr.co/edit/Vp0yRLM4CpJEe0gzDPtr?p=preview |
DivMan,
у Вас обработка события срабатывает и на внутренних списках, нужно проверять, точно ли мы нажали на элемент списка с классом item: <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="style.css"> <style> .none{display: none} .block{display: block} </style> <script> window.onload=function(){ var item = document.querySelectorAll('.item'); for(var i = 0; i < item.length; i++){ item[i].addEventListener('click', function(e){ if (e.target.classList == "item"){ var target = e.target.parentNode.childNodes for(var m = 0; m <target.length; m++){ if(target[m].nodeType == 1){ target[m].children[0].classList.remove('block'); } } if(e.target.children[0].classList.contains('none')){ e.target.children[0].classList.toggle('block'); } } }); } } </script> </head> <body> <div class="main-menu"> <ul class="ul"> <li class="item">Игры <ul class='none'> <li>Гонки</li> <li>Стрелялки</li> </ul> </li> <li class="item">Софт <ul class='none'> <li>windows</li> <li>Антивирусы</li> </ul> </li> <li class="item">Софт <ul class='none'> <li>windows</li> <li>Антивирусы</li> </ul> </li> <li class="item">Софт <ul class='none'> <li>windows</li> <li>Антивирусы</li> </ul> </li> <li class="item">Софт <ul class='none'> <li>windows</li> <li>Антивирусы</li> </ul> </li> </ul> </div> <script src="script.js"></script> </body> </html> |
Часовой пояс GMT +3, время: 07:33. |