2010-04-23 2 views
3

JQuery에서 다음과 같은 의사 코드를 수행하려면 어떻게해야합니까?JQuery : slideToggle이 전환되었는지 어떻게 알 수 있습니까?

$(document).ready(function(){ 
    $(".btn-slide").click(function(){ 
     $("#divToSlide").slideToggle("fast"); 
     if ($(this).isToggled) { // <---- DOESN'T WORK ------- 
      // do something when toggled 
     } else { 
      // do something different when not toggled 
     } 
    }); 
}); 
+0

'$를 콜백 함수를 사용해보십시오'이는 아니다 toggled .... 나는 길을 잃었다? – Reigel

+0

나는 이것이 애니메이션이고, 코드의'isToggled' 부분에 도달했을 때 여전히 진행중이라는 사실에 문제가있을 것이라고 생각합니다. – SeanJA

답변

4

아니면 그냥 토글 기능을 사용할 수 있습니다 http://api.jquery.com/toggle/

$('#target').toggle(function() { 
    alert('First handler for .toggle() called.'); 
}, function() { 
    alert('Second handler for .toggle() called.'); 
}); 

참고 :

$('#target').toggle(function() { 
    alert('1 handler for .toggle() called.'); 
}, function() { 
    alert('2 handler for .toggle() called.'); 
}, function() { 
    alert('3 handler for .toggle() called.'); 
}, function() { 
    alert('4 handler for .toggle() called.'); 
}, function() { 
    alert('5 handler for .toggle() called.'); 
}); 
: 당신이 원하는대로 당신은 더 많은 기능을 추가, 많은 토글 할 수 있습니다

[편집]

$('a.toggleButton').toggle(function() { 
    $("#divToSlide").slideDown("fast"); 
    // do something when toggled 
}, function() { 
    $("#divToSlide").slideUp("fast"); 
    // do something when toggled }); 
}); 
+1

을 존중하면서 말할 수 있지만 그 질문은 아닙니다. 또는, 그것은 완전히 missleading입니다. – jAndy

+0

클릭 이벤트에서 SlideToggle을 사용하고 있으므로 코드를 어떻게 사용합니까? – Timj

+0

토글 1은 아래로 슬라이드되고 토글 2는 첫 번째 경우에서 위로 슬라이드됩니다. – SeanJA

1
$(document).ready(function(){ 
    $(".btn-slide").click(function(){ 
     if ('#divToSlide').is(':visible')) { 
      // do something when toggled 
     } else { 
      // do something different when not toggled 
     } 
    }); 
}); 
+0

누락 된 ")"... 그리고 ELSE 문이 작동하지 않습니다 – Timj

+0

나는 또한 시도 "* ("(# : 보이지 않는) ")입니다. 문이 여전히 작동하지 않습니다. 어떤 아이디어? – Timj

+0

'$ (this)'는'$ (".btn-slide")'....'hmmm ... – Reigel

1

시도 : (". 슬라이드 BTN")

$(document).ready(function(){ 
    $(".btn-slide").click(function(){ 
     $("#divToSlide").toggle(
     function() { 
      // do something when toggled 
      $(this).slideUp(); 
     }, 
     function(){ 
      // do something different when not toggled 
      $(this).slideDown(); 
     } 
    ); 
}); 
+0

유망 해 보입니다 만, "}"과 ")"의 일부가 끝 근처에 잘못 배치되어 있다고 생각합니다. – Timj

4

slideToggle에 대한 (이)`$ '를 참조한다

$(document).ready(function(){ 
    $(".btn-slide").click(function(){ 
     $("#divToSlide").slideToggle("fast", function(){ 
      if ($(this).is(":visible")) { // <---- DOESN'T WORK ------- 
      // do something when toggled 
      } 
      else { 
      // do something different when not toggled 
      } 
     }); 
    });    
}); 
관련 문제