햄버거 메뉴 바꾸기
본문
<nav>
<ul>
<li>
<button class='home'>Home</button>
</li>
<li>
<button class='about'>About</button>
</li>
<li>
<button class='portfolio'>Portfolio</button>
</li>
<li>
<button class='contact'>Contact</button>
</li>
</ul>
</nav>
저 클래스 컨텍트를 클릭할떄마다 햄버거 메뉴가 번형이 됬다 안됬다 하고 싶습니다.
<label>
<input type='checkbox' class='toggle'>
<span class='menu'>
<span class='hamburger'></span>
</span>
</label>
위 라벨이 햄버거 메뉴 입니다. 생각했던것보다 잘 안되네여
스크립트는 이런식으로 되어있습니다.
var bring_nav = function () {
$('.content').toggleClass('content__move');
$('nav').toggleClass('nav__move');
};
var go_to_section = function () {
var id = $(this).attr('class');
$('section').removeClass('section_open');
$('section#' + id).addClass('section_open');
bring_nav();
};
var transform
$(document).ready(function () {
$('.toggle').on('click', bring_nav);
$('nav').find('button').on('click', go_to_section);
});
})
css 입니다
label .hamburger {
position: absolute;
top: 135px;
left: 50px;
width: 30px;
height: 2px;
background: #000;
display: block;
-webkit-transform-origin: center;
transform-origin: center;
-webkit-transition: .5s ease-in-out;
transition: .5s ease-in-out;
}
label .hamburger:after, label .hamburger:before {
-webkit-transition: .5s ease-in-out;
transition: .5s ease-in-out;
content: "";
position: absolute;
display: block;
width: 100%;
height: 100%;
background: #000;
}
label .hamburger:before { top: -10px; }
label .hamburger:after { bottom: -10px; }
label input { display: none;}
label input:checked + .menu .hamburger {
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
}
label input:checked + .menu .hamburger:after {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
bottom: 0;
}
label input:checked + .menu .hamburger:before {
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
top: 0;
}
답변 1
질문 내용을 이해를 잘 못하겠습니다 스크립트에서는 content 와 section 의 클레스를 변경 시키는데 해당 내용이 있지도 않구요 단순 하게 메뉴가 만 변경 시키는 것이라면 contact 클릭시 toggle 처리 하는것이 가장 간단 할것 같습니다.