HTML & CSS 연습/famms
famms_dropdown.js
별초롱언니
2025. 4. 15. 17:35
<div class="h-top container">
<img src="./img/logo.png" alt="logo">
<nav>
<ul>
<li><a class="ul-color" href="#">HOME</a></li>
<li id="menuList_pages"><a href="#">PAGES</a>
<i class="fa-solid fa-caret-down down"></i>
<ul id="subList" class="display_none">
<li>About</li>
<li>Testimonial</li>
</ul>
</li>
<li><a href="#">PRODUCTS</a></li>
<li><a href="#">BLOG</a></li>
<li><a href="#">CONTACT</a></li>
<li><a href="#"><i class="fa-solid fa-cart-shopping"></i></a></li>
<li><a href="#"><i class="fa-solid fa-magnifying-glass"></i></a></li>
</ul>
</nav>
</div>
//1. 셀렉트하기
let pages = document.querySelector("#menuList_pages");
let subList = document.querySelector("#subList");
console.log(pages);
//2.이벤트 할당하기
pages.addEventListener("click", showSubList);
let cnt = 0; //클릭 횟수
//3. 함수 선언하기
function showSubList(){
//4. 함수 내부 코드 작성하기
cnt++;
if(cnt % 2 == 1){ //클릭횟수가 홀수
subList.classList.remove("display_none");
}else{ //클릭횟수가 짝수
subList.classList.add("display_none");
}
console.log(cnt);
}
.h-top {
display: flex;
justify-content: space-between;
align-items: center;
}
/* header top img 사이즈와 마진값 주기 */
.h-top img {
width: 250px;
height: 43px;
margin: 15px 20px 15px 20px;
}
/* header top nav 영역 */
/* flex 가로정렬하고 패딩, 마진값 주기 */
header nav > ul {
display: flex;
padding: 5px;
margin: 10px
}
/* 폰트사이즈와 굵기설정 */
header nav > ul > li{
font-weight: bold;
font-size: 13pt;
/* border: 1px solid red; */
}
/* a태그 패딩값주기 */
header nav > ul a {
padding: 20px;
}
/* header nav 색상입히기 */
.ul-color {
color: var(--main-color);
}
/* header nav li hover 줘서 커서 가져다갔을때 색상값주기 */
header nav li:hover {
color: var(--main-color);
}
.hover-menu {
position: relative;
}
.sub-menu {
position: absolute;
top: 100%;
left: 0;
z-index: 10;
padding: 20px;
display: none;
}
.hover-menu:hover .sub-menu {
display: block;
color: white;
border: 1px solid var(--main-color);
background-color: pink;
box-shadow: 5px 5px 20px 0 white;
}
/* down icon 위치조정 */
.down {
font-size: 13px;
margin-left: -15px;
}
/* 서브 리스트 위치 고정 */
#subList{
width: 180px;
position: absolute;
top: 7%;
left: 50%;
z-index: 100;
border: 2px solid black;
background-color: white;
margin: 0 10px;
padding: 15px 25px;
line-height: 2;
box-shadow: 5px 5px;
}
/* 서브리스트 none값 주기 */
.display_none {
display: none;
}
PAGES click 하면 dropdown menu 확인