$(".menu").click(function() {
$(".submenu").slideToggle("fast", function() {
// Animation complete.
});
});
$(".menu2").click(function() {
$(".submenu2").slideToggle("fast", function() {
// Animation complete.
});
});
$(".menu3").click(function() {
$(".submenu2").slideToggle("fast", function() {
// Animation complete.
});
});
2
나는 다음과 같은 코드에 대한보다 효율적인 방법이 있는지 찾고 있어요
A
답변
1
$.each([1,2,3], function(index) {
$(".menu"+index).click(function() {
$(".submenu"+index).slideToggle("fast", function() {
// Animation complete.
});
});
}
0
$(".menu").click(function() {
$(".submenu").slideToggle("fast", function() {
// Animation complete.
});
});
$(".menu2,.menu3").click(function() {
$(".submenu2").slideToggle("fast", function() {
// Animation complete.
});
});
1
당신은 특성이 선택기로 시작 [이용하여 이런 식으로 몇 가지 일을 할 수 당신에게 :) 감사합니다 [name^= "value"]] 클래스 이름을 사용하여 submenu
클래스 1의 공통 번호를 가져옵니다.
$("[class^=menu]").click(function() {
num = this.className.replace('menu', '')
$(".submenu" + num).slideToggle("fast", function() {
// Animation complete.
});
});
0
괜찮 았던 사람들 덕분에 더 논리적 인 jQuery를 만드는 두 가지 방법을 찾았습니다. 도와 주셔서 감사합니다. 당신 없이는 할 수 없었습니다 !!!
예를 들어, Neeraj의 예제를 시도했지만 마지막 메뉴/하위 메뉴에 JSBin으로 닫지 않는 문제가있었습니다. 약간의 시행 착오를 통해 다른 번호 (이 경우 4)를 추가하면 이제 메뉴/하위 메뉴 # 3이 완벽하게 열리거나 닫힐 수있는 것처럼 보였습니다. 왜 그런지는 모르지만 그것은 나를 위해 일했습니다!
$.each([1,2,3], function(index) {
$(".menu"+index).click(function() {
$(".submenu"+index).slideToggle("fast", function() {
// Animation complete.
});
});
}
다시 한번 감사드립니다.
JSBin은 훌륭한 도구라는 것을 알았습니다. (쉽게 알아볼 수있는 빨간색 글꼴의 오류를 보여줍니다.)
JSfiddle은 코드를 "정리"하고 싶을 때 유용합니다. 실시간 보호기는 무엇입니까! 내 웹 사이트가 실제로 와서 행복하지 않을 수 있습니다. 코멘트와 예제를 작성한 모든 분들께 감사드립니다.
정말로 멋진 Neeraj, 고맙습니다. 메인 메뉴가 클릭되었을 때 마지막 메뉴가 닫히지 않거나 토글되지 않는 이유를 말해 줄 수 있습니까? http://jsbin.com/iwUNAwO/1/edit – user2844139