만약, 새로운 JS파일로 저장하시고 싶으시다면 <script></script> 부분은 제외하고 파일을 생성해주시면 됩니다.
위 코드에서 .category_list는 티스토리의 기본 클래스 명이고, cat-sub-menu라는 클래스를 스크립트를 통해 생성해줍니다. 그리고 toggle이 가능한 클래스 등을 새롭게 생성해 주게 됩니다.
CSS 스타일 코드
자바스크립트로 클래스들은 생성했으니, 이제 CSS를 통해 스타일을 입혀주면 됩니다.
css
UNFOLDED
.sub_category_list { display:none }
.cat-togglei {
transition:.1000s ;
}
.cat-sub-menu.expanded.cat-togglei {
transform:scaleY(-1)
}
.cat-sub-menu.cat-togglei {
float: left;
padding-right: 5px;
cursor: pointer;
}
/*toggle 아이콘 변경*/
.cat-toggle::after {
font-family: "따움표 안에 fontawesome 폰트명을 넣어주세요";
content: "\f107";
font-weight: bold;
cursor: pointer;
outline: none;
float: right;
margin-right: 15px;
transform: translateY(15%);
}
우리가 개인적으로 수정해야할 부분은 .cat-toggle ::after 부분입니다. 사용자마다 스킨이 다르니 이 부분은 직접 수정해주셔야 합니다. font-family 에는 FontAwesome 폰트명을 넣어주면 되는데, FontAwesome에 대한 사용법을 모르신다면 구글링해서 넣어주시기 바랍니다.
FontAwesome에 대해 파악하셨으면, content 부분에 원하는 아이콘 코드명을 넣어주시고, 만약 중앙 정렬이 안되어 있어나 오른쪽에 여백을 주고 싶으시다면 margin-right 부분과 transform 부분의 코드를 적절히 수정해주세요.
해결해야 하는 사항
혹시 위 결과 화면에서 문제점을 찾으셨나요?
토글이 되서 서브메뉴가 나왔는데도 아이콘이 아래를 보고 있네요?!
네. 토글이 되었는데도 arrow 아이콘이 아래를 향하고 있습니다. 이 부분은 클래스를 통해 추가해주시면 되는데 아주 간단합니다. 스크립트에서 expanded라는 클래스를 추가했었죠? 토글이 되면 이 클래스가 생성됩니다. 이것을 활용하면 됩니다.
.cat-toggle ::after를 세분화시켜주도록 하겠습니다.
css
UNFOLDED
/*toggle 아이콘 변경*/
.cat-toggle::after {
font-family: "따움표 안에 fontawesome 폰트명을 넣어주세요";
font-weight: bold;
cursor: pointer;
outline: none;
float: right;
margin-right: 15px;
transform: translateY(15%);
}
.cat-sub-menu.cat-toggle::after {
content: "\f107"
}
.expanded.cat-toggle::after {
content: "\f106"
}
.expanded 클래스가 붙어있는 코드는 토글이 되었을 때 아이콘입니다. 이 부분을 파악하시고 아이콘을 변경해주시면 됩니다. 그리고 .cat-toggle ::after는 expanded 클래스와 공통으로 가지는 값입니다.