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, время: 22:33. |