2016-11-24 3 views
0

관련 아코디언 탭 (Tab 2)을 여는 버튼이 있습니다. 처음으로 버튼을 클릭하면 탭 2가 열립니다. 다시 돌아가서 두 번째 클릭하면 작동합니다 TAB2에)하지만 난 그것을 세 번째 아무것도 클릭하지 않는 경우 발생합니다Onclick 함수가 두 번 이상 작동하지 않습니다.

내 버튼 :

<a onclick="changeTab2();"> 

내 기능 :

<script> 

var tabHeight = $('.tab.active').height(); 
function animateTabHeight() { 
    tabHeight = $('.tab.active').height(); 
    $('.tabs-content').stop().css({ 
     height: '100' + '%' 
    }); 
} 


function changeTab2() { 
    var getTabId = $('.tabs-header .active a').attr('tab-id'); 
    $('.tab').stop().fadeOut(300, function() { 
     $(this).removeClass('active'); 
    }).hide(); 
    $('.tab[tab-id=' + 2 + ']').stop().fadeIn(300, function() { 
     $(this).addClass('active'); 
     animateTabHeight(); 
    }); 
} 

</script> 

가 작동을 멈 춥니 다 이유가 없습니다 생각.

+0

몇 개의 탭이 있습니까? – user2085143

+0

3 개의 탭이 있지만이 버튼은 tab-id-2 만 열어줍니다. – itguyme

+0

콘솔을 반환하는 오류는 무엇입니까? –

답변

0

클릭 이벤트는 페이지로드에서만 바인딩됩니다. 이것이 처음부터 작동하고있는 이유입니다. 탭을 열 때마다 클릭 기능을 동적으로 바인딩하십시오. id를 a로 설정하고 클릭 이벤트를 바인드합니다.

<a class="t1" id="subDiv1"></a> 

    $('#subDiv1').unbind("click"); 
    $('#subDiv1').bind("click",function(){ 

     // place your code here 

    }); 

이제 이것을 # tab-1 클릭 기능 내에서 호출하십시오.

+0

Wahoo 작동! 많은 많은 감사합니다! – itguyme

관련 문제