2010-06-01 2 views
2

동일한 클래스로 3-5 div를 포함 할 div가 1 개 있습니다. div 밑에 앵커가 있습니다. 이 앵커를 클릭하면 첫 번째 div를 숨긴 다음 두 번째 앵커를 표시합니다. 다른 클릭은 다음을 표시합니다. 모든 div에서 display : none을 설정했지만 처음에는 현재 하나만 표시됩니다. 나는 앵커를 클릭 할 때 첫 번째를 숨기고 두 번째, 세 번째, 다음을 표시하는 방법을 알아낼 수 없습니다.같은 클래스로 div보기/숨기기 - jquery

<div class="container-div"> 
<div class="inner-div">...</div> 
<div class="inner-div" style="display:none;">...</div> 
<div class="inner-div" style="display:none;">...</div> 
<a href="#" class="more">More</a> 
</div> 

그래서 더 많은 앵커를 클릭하면 한 번에 하나의 inner-div가 표시됩니다. 어떤 제안이나 아이디어라도 크게 감사 할 것입니다. 또한, 나는 이것을 달성하기 위해 jquery를 사용하고 싶습니다. 해당 클래스에 표시되는 첫 번째 사업부를 찾아 그 다음 아이로 이동 보여 것

$(".inner-div:visible").hide().next().show(); 

이 :

+0

언제 끝나면 어떤 행동을합니까? –

+0

마지막 동작은 (a.) 첫 번째 div로 되돌아가는 루프이거나 (b.) 앵커가 작동을 멈추거나 숨길 수 있습니다. –

답변

4

당신이 뭔가를 할 수 있습니다.

  1. div의는
  2. 마지막 사업부가 표시되는 경우이 버튼을 클릭하면 그냥 숨기고 아무것도 표시되지 않습니다 형제는 다음과 같습니다

    이는 것으로 가정합니다.

처음부터 다시 순환하려면 약간 까다 롭습니다. 대신 단순히 마지막 사업부가 표시되고 후에 자전거를 중지하려면

var next = $(".inner-div:visible").hide().next(); 
if (next.length > 0) 
    next.show(); 
else 
    $(".inner-div:first").show(); 

, 당신은 할 수 : 내가 좋아하는 뭔가를 할 수

var current = $(".inner-div:visible"); 
if (current.next().length > 0) 
    current.hide().next().show(); 
+0

바위! 정말 고마워! 이것은 훌륭하게 작동하지만 유일한 문제는 마지막 div가 표시된 후에 div를 클릭하면 사라집니다. 첫 번째 루프로 되돌릴 수 있습니까? 도와 주셔서 다시 한 번 감사드립니다! –

+0

아참. 방금 마지막으로 숨길 것이라고 언급 한 것으로 나타났습니다. 미안합니다. 그걸 막을 방법이 있을까요 아니면 처음으로 되돌아 갈 수 있습니까? –

+0

마지막으로 숨겨진 후 첫 번째 div를 다시 표시하기 위해 다시 돌아 다니기위한 솔루션으로 편집했습니다. – VoteyDisciple

0

어떻게 보이지 않는 div의에게 추가 클래스를 제공에 대해, invisible 말을하고, 그런 다음 해당 클래스의 CSS에 display:none을 지정하십시오.

링크를 누를 때마다 이미 클래스가없는 컨테이너의 div에 클래스를 추가 한 다음 inner-div 클래스를 사용하여 다음 div에서 클래스를 제거하십시오 (또는 사용자가 buttom에 있으면 inner-div).)

0

당신이 당신의 요구 사항에 의해 제한되는지 모르겠지만, cycle or carousel 플러그인도 이런 종류의 작업을 위해 잘 동작 할 것이라고 생각합니다.

+0

팁 주셔서 감사. 나는 플러그인을 사용하고 싶지만 요구 사항 때문에 최후의 수단이되어야한다. : (다시 한 번 감사 드리며 향후 프로젝트에 대한 링크를 북마크에 추가했습니다. –

관련 문제