2012-03-05 3 views
1

자바 스크립트에서 간단한 버튼 컨트롤을 쓰려고하는데, 전환 할 때마다 자동으로 전환 기능이 전환되므로 언제든지 요소의 표시 또는 숨기기가 변경됩니다. 나는 이것이 쉬운 일일 수 있다고 생각했지만 제대로 작동하지 못했습니다. 자바 스크립트에서 전환 기능

simplify: function(){ 
    aRemoveButtons[t].show(); 

    //next time 
    aRemoveButtons[t].hide(); 
} 

나는 변수를 설정하려고 한 다음에! 변수를 할 수 있지만 부울이고 거짓은 정의와 동일하게 보였다으로 나는 그것의 실존을 확인하지 못했습니다.

+0

t은 무엇인가? 함수에 0 개의 매개 변수가 있기 때문에 jQuery를 yourstuff에 추가하면이 함수가 이미 쉽게 사용할 수 있다는 것을 알 수 있습니까? – SpYk3HH

+0

이것이 무엇인지에 따라, 이것을 할 수있는 jQuery의 함수가 이미있을 수 있습니다 :'aRemoveButtons [t] .toggle();'나는'.show()'때문에 jQuery를 사용하고 있다고 가정합니다. 및 .hide(). – Ryan

+0

"3 줄 기능이 필요합니다." "jQuery를 설치하십시오! 80k lib를로드 한 후 하나에서 할 수 있습니다!" – Snuffleupagus

답변

1

jQuery를 사용하고 있습니까? 그것은 내장 된 토글 방법 : http://api.jquery.com/toggle/

$('.target').toggle(); 
+0

이 시간 라운드가 아니며, 토글이 뷰와 함께 작동한다고 생각합니다. – landed

+0

아니요 나는 이제 버튼 자체에 상태를 설정하여 문제를 해결했습니다. 모든 도움을 주셔서 감사합니다 – landed

+0

이미 문제를 해결 한 경우 가장 가까운 답변을 수락 할 수 있으므로 사람들은 알 수 없습니다. 더 이상이 문제에 대한 도움이 필요합니다 :) –

0

같은 것을보십시오 :

function toggle(elementID) { 
    var target1 = document.getElementById(elementID); // get the element 
    if (target1.style.display == 'none') { // check current state 
     target1.style.display = 'block'; // show 
    } else { 
     target1.style.display = 'none'; // hide 
    } 
}​ 

사용 :

<div id="something" style="display:none;"></div> 

toggle('something'); 
+0

나는 자바 스크립트 함수 자체가 상태를 유지하고 싶었 네, 그래, 이런 식으로해야 할 수도 있습니다. 나는 sencha 프레임 워크를 사용하고있다. – landed

+0

@landed sencha 태그를 추가했습니다. 더 나은 응답을 얻길 바랍니다. – ManseUK

0
Ext.override(Ext.Element, { 
    toggle : function() 
    { 
     // check current state of visibility 
     var mode = this.getVisibilityMode(); 
     var hideClass = ''; 

     switch (mode) { 
      case Ext.Element.prototype.VISIBILITY: 
        hideClass = 'x-hidden-visibility'; 
       break; 
      case Ext.Element.prototype.DISPLAY: 
        hideClass = ''x-hidden-display'; 
       break; 
      case Ext.Element.prototype.OFFSETS: 
        hideClass = 'x-hidden-offsets'; 
       break; 
     } 

     // default should be visible 
     var visible = true; 
      // if class exists then the element is hidden 
     if(this.hasCls(hideClass)) { 
      visible = false; 
     } 

     this.setVisible(!visible); 
    } 
}); 
관련 문제