2011-07-29 3 views
0

내 웹 사이트에는 내용이 <div> 인 다양한 컨테이너가 있습니다. 그런 다음 컨테이너에 내용이 변경되는 링크가 있습니다. <div> s.여러 컨테이너 DIV 변경 링크를 통해 독립적으로 내용을 변경

그러나 특정 콘텐츠를 타겟팅하는 링크를 얻을 수 없으며 두 링크 세트 모두 컨테이너 <div>을 변경합니다.

http://jsfiddle.net/hKMFb/1/

당신이 jfiddle 보면, 내가 처음-DIV와 두 번째 DIV 모두 자동으로 콘텐츠를 갖고 싶어하고 나는 단지 각각의 내용을 변경하는 링크를하고 싶습니다. 대신 나는 content1-4가 둘 다에 나타납니다. 나뿐만 아니라 여기에 코드를 삽입합니다 :

//HTML 
<div class="container-div"> 
    <div id="tab"> 
    <ul> 
     <li id="tab1" class="active"><a href="#">Link 1</a></li> 
     <li id="tab2"><a href="#">Link 2</a></li> 
     <li id="tab3"><a href="#">Link 3</a></li> 
     <li id="tab4"><a href="#">Link 4</a></li> 
    </ul> 
    </div> 

    <div id="content1" class="content">Content Here1</div> 
    <div id="content2" class="content">Content Here2</div> 
    <div id="content3" class="content">Content Here3</div> 
    <div id="content4" class="content">Content Here4</div> 
</div> 


<div class="container-div"> 
    <div id="tab"> 
    <ul> 
     <li id="tab5" class="active"><a href="#">Link 5</a></li> 
     <li id="tab6"><a href="#">Link 6</a></li> 
     <li id="tab7"><a href="#">Link 7</a></li> 
     <li id="tab8"><a href="#">Link 8</a></li> 
    </ul> 
    </div> 
    <div id="content5" class="content">Content Here1</div> 
    <div id="content6" class="content">Content Here2</div> 
    <div id="content7" class="content">Content Here3</div> 
    <div id="content8" class="content">Content Here4</div> 
</div> 

그리고 스크립트 :

//Jquery Business 

$(document).ready(function() { 
    var activeId = $(".active").attr("id").replace("tab",""); $("#content" + activeId).show(); 
    $("#tab a").click(function() { 
     $(".content").hide(); 
     $("#tab .active").removeClass("active"); 
     $(this).addClass("active") 
     var id = $(this).closest("li").attr("id").replace("tab",""); 
     $("#content" + id).show(); 
    }); 

}); 
+0

나는 당신이하고 싶은 것을 조금 혼란스럽게 생각합니다. 당신이 리를 클릭하여 해당 컨텐츠를 div로 채우기를 원할 때? – Evan

+1

ID가 같은 두 개의 DIV가 없습니다. – bfavaretto

+0

ID 문제에 대해 알고 있습니다. 스크립트는 하나의 컨테이너 div에서만 작동합니다. 이것을 사용하여 다른 컨테이너 div를 만들려고하면 단순히 작동하지 않습니다. 현재로서는 ID가 "탭"인 컨테이너 div를 하나만 사용하면 제대로 작동하지만 여러 컨테이너 (최대 6 개)를 갖고 싶어서 순서대로 스크립트를 조작하는 방법을 모릅니다. 그것은 각 컨테이너에서 독립적으로 작동합니다. – Ando

답변

0

는 몇 가지 문제가 있습니다. 먼저 div 개의 태그와 id="tab" 태그가 있습니다. 다른 문제는 동시에 두 개의 li 태그에 class="active" 태그가 있다는 것입니다. 솔루션을 찾을 수 있는지 지금 코드로 작업하고 있습니다. 업데이트

: 여기는 잘 작동 갈래의 바이올린에 대한 링크입니다 : ... 콘텐츠 1-4 때문에 당신의 HTML의 모두에서 나타나고있다, 참고로

<div id="content1" class="content">Content Here1
<div id="content2" class="content">Content Here2
<div id="content3" class="content">Content Here3
<div id="content4" class="content">Content Here4

http://jsfiddle.net/Skooljester/LNXPG/ 그 코드는 첫 번째 탭 집합에 대해 한 번, 두 번째 탭 집합에 대해 두 번 반복됩니다. 두 번째 세트의 1,2,3,4를 5,6,7,8로 변경하면 올바르게 표시됩니다.

+0

내용을 표시하는 측면에서이 방법이 효과적입니다. 그러나, 내가하고 싶은 일은 그들이 독립적으로 콘텐츠를 표시하도록하는 것입니다. 즉, 링크 5를 클릭하여 콘텐츠 5를 표시하면 첫 번째 컨테이너 div의 콘텐츠가 동시에 표시되기를 원합니다. 도움 주셔서 감사합니다. – Ando

관련 문제