메뉴를 만들고 있습니다. 메뉴는 다음과 같습니다.jQuery - 다른 (관련) 클릭을 트리거하는 click 및 addclass?
$('.category').mouseover(function() { $(this).removeClass('category').addClass('categoryhover'); }).mouseout(function() { $(this).removeClass('categoryhover').addClass('category'); });
$('.category').click(function() { $('.catmenu').removeClass('catmenu').addClass('hide'); $('.categoryact').removeClass('categoryact').addClass('category'); $('.hide', this).removeClass('hide').addClass('catmenu'); $(this).removeClass('category').addClass('categoryact'); });
$('.categoryact').live('click', function() { $('.catmenu').removeClass('catmenu').addClass('hide'); $(this).removeClass('categoryact').addClass('category'); });
카테고리 분류와 사업부를 클릭하면 해당 범주에 새로운 클래스 (categoryact)를 제공하고 하위 메뉴를 표시합니다. 아마 그것을 다시 클릭하면 그것을 숨길 것입니다. 그러나 클릭 된 div에 새 클래스 (categoryact)를 제공하는 이벤트가 숨겨지면 해당 함수를 숨기는 기능도 트리거됩니다. 물론 결과는 하위 메뉴를 표시하는 첫 번째 클릭이 아무 것도하지 않는 것 같습니다. 물론 우리는 실제로 다른 하나를 해고한다는 것을 압니다.
"숨기기"기능을 트리거하는 이유와 해결할 수있는 방법을 누군가 말해 줄 수 있습니까? 또는이 방법을 더 간단하게 작성하는 방법입니다. 추가/제거 클래스가 많이 있습니다. ;)
감사합니다.
jQuery의 toggle() 및 toggleClass() 함수를 사용하면 더 쉽지 않을 것입니다 ? http://api.jquery.com/toggle, http://api.jquery.com/toggleClass ... 그런 식으로 간단한 click()이 클래스를 토글하기 때문에 live() 바인딩이 전혀 필요하지 않을 수도 있습니다. 하위 메뉴 –
CSS에서 호버 효과를 추가하는 방법이 있습니까? 내 경험상, 그것은 가장 간단합니다. 어쩌면 HTML과 CSS를 게시하고 우리가 도울 수 있습니다. – rcravens
http://jsfiddle.net/5EkZm/ 도움이되는이 희망을 시도해보십시오. – Rafay