Project

[미니 프로젝트] 2. 카테고리 메뉴 만들기

seoooc 2022. 2. 20. 12:36

 

 

 

 

 

동반 여행 메뉴 페이지를 만들어 보도록 하겠다.

 

 

 

카테고리 메뉴 만들기

 

 

	<div id="category">
		<nav>
			<ul>
				<li><a href="#">카테고리</a></li>
			</ul>
			<ul>
				<li><a href="trip_Page.html">동반여행</a></li>
			</ul>
			<ul>
				<li><a href="#">펫캘린더</a></li>
			</ul>
			<ul>
				<li id="community"><a href="#">커뮤니티</a>
					<div id="hidden_category">
						<ul>
							<li><a href="#">자유게시판</a></li>
						</ul>
						<ul>
							<li><a href="#">실종신고</a></li>
						</ul>
					</div>
				</li>
			</ul>
		</nav>
		<div id="category_bar">
			<a href="#"><img src="img/icon_arrowright.png"></a>
			<a href="#"><img src="img/icon_arrowleft.png"></a>
		</div>
	</div>

 

 

하단에 있는 category_bar div에는 두 개의 아이콘( > , < )을 넣어주었다.

두 번째 아이콘은 display:none;으로 설정해 숨겨주었다.

 

처음엔 카테고리 메뉴가 펼쳐진 상태이므로 category_bar의 아이콘은 > 이미지로 떠야 하고,

category_bar를 클릭하면 아이콘이 <로 변경되어야 하기 때문이다.

이 부분은 아래 jquery에서 다시 설명하겠다.

 

 

 

 

메인 홈페이지에서 메뉴를 선택해 해당 사이트로 이동하면

왼쪽에 카테고리 메뉴를 고정적으로 보여주기 위해 nav 하위에 ul, li을 작성했다.

 

 

nav와 category_bar은 float:left;로 왼쪽 정렬해주었다.

 

hidden_category는 커뮤니티 메뉴에 마우스 오버했을 때만 나타나도록 하기 위해

기본 세팅은 display:none;으로 설정해주었다.

 

 

//카테고리 hover
$("#category>nav>ul").hover(function() {
	$(this).css("background-color", "#e8f4ea").css("transition-duration","300ms");
}, function() {
	$(this).css("background-color", "white");
});

 

 

카테고리 ul에 마우스 오버했을 때 배경색을 변경해준다.

 

 

 

//커뮤니티 하위메뉴 나타내기
$("#community").hover(function() {
	$("#hidden_category").fadeIn();
},function(){
	$("#hidden_category").css("display", "none");
});

//커뮤니티 하위메뉴 hover
$("#hidden_category>ul").hover(function() {
	$(this).css("background-color", "#e8f4ea").css("transition-duration","300ms");
}, function() {
	$(this).css("background-color", "white");
});

 

 

커뮤니티에 마우스 오버를 하면 숨겨져 있던  하위 메뉴 hidden_category div를 나타나게 했다.

메뉴가 나타날 때는 부트스트랩에서 제공하는 fadeIn을 사용했다.

효과가 있고 없고의 차이가 크기때문에 적절히 잘 사용하는 중이다.

 

 

하위 메뉴 hidden_category div 에도 마우스 오버했을 때 배경색이 바뀌도록 설정했다.

(transition-duration을 통해 천천히 바뀌도록 설정)

 

 

 

//카테고리바 click
	$("#category_bar>a:first").click(function(){
		$("#category>nav").toggle();
		$(this).css("display","none");
		$("#category_bar>a:last").css("display","block");
		$("#category_bar").css("margin-left","30px");
		
	});
	$("#category_bar>a:last").click(function(){
		$("#category>nav").fadeIn();
		$(this).css("display","none");
		$("#category_bar>a:first").css("display","block");
		$("#category_bar").css("margin-left","10px");
	});

 

 

 

> 아이콘을 클릭하면 카테고리 메뉴는 toggle로 인해 사라지고

> 아이콘은 display를 none으로 설정해 숨겨주고

숨겨져 있던 < 아이콘의 display를 block으로 설정해 나타낸다.

 

 

 

똑같이 < 아이콘을 클릭하면 카테고리 메뉴는 toggle로 인해 나타나고

< 아이콘은 display none, > 아이콘은 display block으로 설정한다.

 

 

 

category_bar 클릭하면 카테고리 메뉴 사라짐

 

 

커뮤니티에 마우스 오버하면 하위 메뉴(자유게시판, 실종신고) 나타남