2014-02-12 3 views
1

그래서 일부 콘텐츠에 탭 시스템을 사용하고 있지만 약간 애니메이션을 적용하려고합니다. 그대로, 탭은 정확하게 작동합니다. 탭을 클릭하면 내용이 변경됩니다. 타다! 하지만, 내가 알고 싶은 것은 탭을 팝업으로보기보다는 페이드로 표시하는 것이 가능하고, div의 콘텐츠가 커지거나 줄어들 때 그렇게하는 동안 움직입니다. 변화하는 탭에 페이드를 추가 하시겠습니까?

내가 사용하고있는 코드입니다 :

   $(document).ready(function(){ 
      $('ul.tabs').each(function(){ 
       var $active, $content, $links = $(this).find('a'); 

       $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]); 
       $active.addClass('active'); 
       $content = $($active.attr('href')); 
       $links.not($active).each(function() { 
        $($(this).attr('href')).hide(); 
       }); 

       $(this).on('click', 'a', function(e){ 
        $active.removeClass('active'); 
        $content.hide(); 

        $active = $(this); 
        $content = $($(this).attr('href')); 

        $active.addClass('active'); 
        $content.show(); 

        // Prevent the anchor's default click action 
        e.preventDefault(); 
       }); 
      }); 
     }); 

내가 .removeclass 물건을 페이드 아웃에 대한 내 이전 질문 중 하나를 참조 시도했지만, 그것은 작동하지 않았다. 지금까지 나는 (.addclass에 .fadeIn (500)) 작동 할 것이라고 생각하는 다양한 비트를 추가하려고 시도했지만 결과는 좋지 않았다. 나는 탭을 무작위로 사라지게했고, 탭이 완전히 사라져 버렸고, 내 고양이 중 하나가 던져 버렸습니다. thats 연결되어 있는지, 공정한.

누구든지 여기에 손을 착륙시킬 수 있습니까? 많이 미리 감사드립니다.

+0

스타일 변경에 CSS3 전환을 적용합니다. 스크립트를하지 않아도됩니다. 당신의 예를 바이올린에 넣으면 우리가 살펴볼 것입니다. http://jsfiddle.net – isherwood

+0

아래의 코드에서 알 수 있듯이 실제로는 그것을 알아 냈습니다. 단 한 가지는 div가 콘텐츠에 적합하도록 멋지게 성장하지는 않지만 그 콘텐츠는 끔찍하지 않다는 것입니다. 페이드 파트가 작동합니다. 나는 단지 IE 때문에 전환 사용에 대해 걱정합니다. 많은 방문자들이 IE의 구 버전에 있으므로 약 8 점 정도를 지원해야합니다. 이전 버전보다 더 빨라질 수 있습니다. :디 –

답변

1

nermind, 알아 냈어! 나는 .shade를 사용하여 .fadeIn으로 바꿨다는 것을 알아 차렸다.

  $(document).ready(function(){ 
      $('ul.tabs').each(function(){ 
       var $active, $content, $links = $(this).find('a'); 

       $active = $($links.filter('[href="'+location.hash+'"]')[0] || $links[0]); 
       $active.addClass('active'); 
       $content = $($active.attr('href')); 
       $links.not($active).each(function() { 
        $($(this).attr('href')).hide(); 
       }); 

       $(this).on('click', 'a', function(e){ 
        $active.removeClass('active'); 
        $content.fadeOut(300); 

        $active = $(this); 
        $content = $($(this).attr('href')); 

        $active.addClass('active'); 
        $content.delay(300).fadeIn(500); 

        // Prevent the anchor's default click action 
        e.preventDefault(); 
       }); 
      }); 
     }); 

Woot! 배우기!