2012-10-19 1 views
2

큰 폭의 div를 만드는 TabbedContent 스크립트를 사용하고 있습니다. 이 div에는 순차적으로 여러 개의 정렬되지 않은 목록이 있으며 각 목록은 탭에 해당합니다. 그런 다음 스크립트는 콘텐츠를 표시하는 영역의 목록에 맞게 큰 div의 너비를 조정합니다.고정 된 열이 있고 다른 하나는 정렬되지 않은 목록 내에서 스크롤 할 수 있습니다.

지금은 고정 된 div 또는 절대 div를 설정할 수 없습니다. 스크롤이 더 이상 작동하지 않기 때문입니다. 필요한 것은 오른쪽 열에 텍스트가있는 동안 왼쪽 열을 고정해야하는 2 열 설정입니다. 둘 다 목록 안에 있어야하며 다른 탭에서이 사본을 복제 할 수 있어야합니다. 여기

var TabbedContentSolutions = { 
    init: function() { 
     $(".tab_thumb").click(function() { 

      $(this).siblings().removeClass('active_thumb'); 
      $(this).addClass('active_thumb'); 

      var background = $(this).parent().find(".moving_bg2"); 

      $(background).stop().animate({ 
       left: $(this).position()['left'] 
      }, { 
       duration: 0 
      }); 

      TabbedContentSolutions.slideContent2($(this)); 

     }); 
    }, 

    slideContent2: function(obj) { 

     var margin = $(obj).parent().parent().find(".slide_content2").width(); 
     margin = margin * ($(obj).prevAll().size() - 1); 
     margin = margin * -1; 

     $(obj).parent().parent().find(".tabslider2").stop().animate({ 
      marginLeft: margin + "px" 
     }, { 
      duration: 0 
     }); 
    } 
} 


$(document).ready(function() { 
    TabbedContentSolutions.init(); 
}); 

가의 .js를 제어하는 ​​CSS 그리고 div의 :

여기에 내가 탭 시스템을 실행하는 데 사용하고있어의 .js의

.tabbed_content2 { 
    background-color: ##F7931E; 
    width: 1000px; 

} 

.tabbed_content2 .slide_content2 { 
    overflow: hidden; 
    position: relative; 
    width: 1000px; 
} 

.tabs2{ 
    margin-top: 10px; 
    margin-left: 10px; 
    height: 32px; 
    width: 670px; 
    position: relative; 
    float: right; 
} 

.tabs2 .tab_thumb{ 
    height: 32px; 
    width: 32px; 
    margin-left: 9px; 
    float: left; 
    cursor: pointer; 
} 

.tabslider2{ 
    width: 17000px; 
    overflow-x: hidden; 
} 

.tabslider2 ul { 
    float: left; 
    width: 980px; 
    height: 323px; 
    margin: 0px; 
    padding: 0px; 
    padding-right: 10px; 
    padding-left: 10px; 
    padding-top: 10px; 
    overflow-x: hidden; 
} 

#_solutions{ 
    width: 980px; 
    height: 300px; 
    padding-left: 10px; 
    padding-right: 10px; 
} 

.solutions_left{ 
    width: 273px; 
    height: 330px; 
    padding-right: 10px; 
    float: left; 
    } 

.solutions_right{ 
    width: 670px; 
    height: 100%; 
    overflow: auto; 
    float: left; 
} 

.tabslider2 ul li { 
    padding-bottom: 4px; 
    list-style-type: none; 
} 

.active_thumb{ 
    opacity: .10; 
} 

을 그리고 여기에 기본입니다 div 설정 탭을 만들기 위해 사용하고 있습니다 :

나는 혼란 스럽지만 적어도 17 가지의 다른 ta가있을 것입니다. bs 및 각 이미지를 표시 할 수있는 스크롤 막대가 필요합니다.

절대 위치 지정이 작동하지 않습니다. 탭을 전환하려고 할 때마다 div가 표시 영역 내에 남아있게됩니다.

수정하면 같은 문제가 발생합니다. 자바 스크립트가 거의없고, jQuery가 적다는 것을 알고 있으므로이 문제를 해결하는 방법을 모릅니다.

+0

jsfiddle.net에서 문제를 보여주는 라이브 데모를 만드십시오. Solutuon 가능성이 스크립트와 관련이없고 순전히 CSS 관련 가능성이 높습니다 – charlietfl

답변

0

당신의 탭 시스템에 대한 I 확실하지,하지만 JQuery와 - UI에서 일이 잘 작동 -

http://jsfiddle.net/jg5CC/2/

HTML :

<link rel="stylesheet" href="http://code.jquery.com/ui/1.8.18/themes/base/jquery-ui.css" /> 
<div id="tabs"> 
    <ul> 
        <li><a href="#tabs-1">Nunc tincidunt</a></li> 
        <li><a href="#tabs-2">Proin dolor</a></li> 
        <li><a href="#tabs-3">Aenean lacinia</a></li> 
    </ul> 
    <div id="tabs-1"> 
        <div class="image">img5</div> 
        <p>aProin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p> 
    </div> 
    <div id="tabs-2"> 
        <div class="image">img4</div> 
        <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p> 
    </div> 
    <div id="tabs-3"> 
        <div class="image">img3</div> 
        <p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p> 
        <p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p> 
    </div> 
</div> 
​ 

CSS :

.image { 
 position: fixed;   
 width: 100px; 
 height: 100px; 
 background: lightgreen;   
 opacity: 0.7;     
} 
p { 
 height: 1000px;    
}​ 

JS :

$("#tabs").tabs(); 
+0

당신의 솔루션은 좋지만 게시 한 내용에 따라 왼쪽 열을 완전히 고정했지만 오른쪽 열에 여백을 추가하여 왼쪽 하나. 레이아웃을 깨지 않고 모든 것을 keps 할 수 있습니다. 고맙습니다. – Zeldrak

관련 문제