플라이아웃 메뉴에 자바스크립트 먹이려고 하는데 코드 좀 봐주세요
관련링크
본문
$('.cd-side-nav a').on('click', function(){
var element = $(this).parent('.has-children');
if (element.hasClass('active')) {
element.removeClass('active');
element.find('.has-children').removeClass('active');
}
else {
element.addClass('active');
element.siblings('.has-children').removeClass('active');
element.siblings('.has-children').find('li').removeClass('active');
$(".hover a").trigger("click");*
}
});
$('.cd-side-nav li.hover a').on('click', function(){
var element = $(this).parent('.has-children');
if (element.hasClass('active')) {
element.removeClass('active');
element.find('li').removeClass('active');
}
else {
element.addClass('active');
element.siblings('.has-children').removeClass('active');
element.siblings('.has-children').find('li').removeClass('active');
}
});
링크의 메뉴판을
마우스 오버 시 플라이아웃 메뉴가 보이고
플라이 아웃 된 메뉴를 누르면 사이드 메뉴 아래에 메뉴가 보이도록 하고싶어서
.hover a를 누르면 이벤트가 발생하도록 했는데 적용이 안 되네요 ㅠㅠ
트리거를 넣으면 몇 번 되다가 오류가 나는데
어디를 손봐야 할까요
!-->답변 1
$('.cd-side-nav a').on('click', function(){
var element = $(this).parent('.has-children');
if (element.hasClass('active')) {
console.log("a");
element.removeClass('active');
element.find('.has-children').removeClass('active');
}
else {
console.log("d");
element.addClass('active');
element.siblings('.has-children').removeClass('active');
element.siblings('.has-children').find('li').removeClass('active');
}
});
이렇게만 넣으셔도 될 것 같은데요??
trigger를 반복시키면서 사실상 무한루프가 돌기 때문에 안 되는 것이고, 위에 올리신 코드에서도 오타가 있네요 (*이라고 들어가있네요)
넣으신 코드 말고 이 코드 넣으셔서 실행해보세요~
!-->
답변을 작성하시기 전에 로그인 해주세요.