2012-02-11 4 views
0

JQuery와 :왜이 간단한 jQuery 블록이 작동하지 않습니까?

$(document).ready(function() { 
    $("#links .button").click(function() { 
     var id = $(this).attr("id") + "-fade"; 
     $("#sliding-blocks").fadeOut(100); 
     $("#" + id).fadeIn(300); 
    }); 
}); 

그리고 간단한 HTML : 비 간단한 HTML 명명 규칙 같은 "페이드"다음 #links#sliding-blocks 있지만, 모든 개 항목이 포함

<table id="links"> 
    <tr> 
     <td> 
      <div id="projects" class="button"> 
       Projects 
      </div> 
     </td> 
    </tr> 
</table> 

<table id="sliding-blocks"> 
    <tr> 
     <td> 
      <span id="projects-fade" class="block"> 
       <img class="icon" src="github.png" height="20" width="20" /> 
      </span> 
     </td> 
    </tr> 
</table> 

.

나는 일할 수있는 어떤 것도 얻을 수 없습니다 (내가 할 수있는 것조차도). 그리고 네, jQuery를로드했습니다.

솔루션 :

$(document).ready(function() { 
    var blocks = ["projects-fade", "blog-fade", "online-fade", "resume-fade"]; 
    $("#links .button").click(function() { 
     var id = this.id + "-fade"; 
     $("#sliding-blocks").fadeOut(100,function() { 
      $.each(blocks, function() { 
       $("#" + this).hide(); 
      }); 
      $("#" + id).show(); 
      $(this).fadeIn(300); 
     }); 
    }); 
}); 
+0

표시하려는 요소를 포함하는 테이블을 페이드 아웃하고 있습니다. – frictionlesspulley

답변

2

당신은 조상이 페이드 아웃되는 경우, 그 하위 아무도 볼 수 없습니다에.

퇴색하려는 요소의 조상을 퇴색했기 때문에. 난 당신이 이런 식으로 뭔가를 찾고 가정

...

$(document).ready(function() { 
    $("#links .button").click(function() { 
     var id = this.id + "-fade"; 
     $("#sliding-blocks").fadeOut(100,function() { 
      $("#" + id).show(); 
      $(this).fadeIn(300); 
     }); 
    }); 
}); 
+0

감사합니다. 구현에 작은 함수를 추가했습니다 (관심이 있다면 제 질문을 참조하십시오). – n0pe

+0

@MaxMackie : 다른 것들을 감추고 싶다면, 클래스'$ (". block"). hide()를 써서 그것들을 선택할 수도 있지만, 배열과'.each '. –

+0

오른쪽! 나는 그것을 잊었다. 다시 한번 감사드립니다. – n0pe

3

귀하의 페이드 아웃 #sliding-blocks 테이블과의 한 요소에 페이드하지만, 테이블 자체는 여전히 페이드 아웃된다. 대신 모든 .block 요소를 페이드 아웃 한 다음 원하는대로 페이드 인시켜 테이블을 항상 볼 수있게해야합니다.

+0

.block 요소에는 display : 블록이 있다고 가정하고 싶습니다. 그렇지 않으면 사라지지 않을 것입니다. – Vigrond

2

당신이 블록 슬라이딩 숨어있어 다음 END_LINK하면 관심있는가에의 자식 요소를 페이드하려고합니다. 그하지 않습니다 부모 컨테이너로 작동 슬라이딩 블록이 보이지 않음

관련 문제