Açılan menüleri W3Schools'dan kopyaladım ve sınıf adlarını/kimliklerini değiştirdim, böylece kodumda kullanabilirim.Javascript ve HTML - Bir açılır menünün eklenmesi, burada ne yapıyorum?
yanlış yapıyorum:
İki şey var mı?
For-loop nedir, for-in, ne yapar? Bir tarafından artırmanın amacı nedir?
HTML:
<body>
<nav class = "header">
<div id = "logo"> <a href = "ee"/> </a> </div>
<ul>
<li class = "nav_li" id= "cata_li" onclick = "myFunction()">
<a class ="nav_a" href="ee"> Find <br/> Poop</a>
<ul class = "dropdown_menu">
<li> <a href = "#"> Horse poop </a> </li>
</ul>
</li>
JavaScript:
function myFunction() {
document.getElementById("cata_li").classList.toggle("show");
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event) {
if (!event.target.matches(".nav_li")) {
var dropdowns = document.getElementsByClassName("dropdown_menu");
var i;
for (i = 0; i < dropdowns.length; i++) {
var openDropdown = dropdowns[i];
if (openDropdown.classList.contains('show')) {
openDropdown.classList.remove('show');
}
}
}
}
CSS (Benim CSS hala aynı görünüyor, emin burada hiçbir şey yanlıştır değilim):
.header > ul{
display: inline-block;
position: absolute;
top: 0px;
left: 250px;
}
.header> ul > li{
display: inline-block;
list-style: none;
vertical-align: top;
}
.dropdown_menu{
position: absolute;
display: none;
z-index: 40;
top:50px;
left:0;
background-color: #222;
width: 300px;
list-style: none;
padding: 10px;
}
Hank .closest() kullandığınız bir
nav_li
öğesinin içinde tıklandığı olup olmadığını kontrol etmek gerekiyor! ama benim için ne anlama geldiğini söyler misin? Amacı yok –