2012-10-19 18 views
2

我正在使用TabbedContent腳本創建一個寬度較大的div。這個div反過來有幾個無序的列表,每個列表將對應一個標籤。該腳本然後調整大div的寬度以適應其顯示內容的區域中的列表。有一個固定的列,而另一個可以在無序列表中滾動

現在,我無法在其中設置固定div或絕對div,因爲滾動將不再起作用。我需要的是2列設置,其中左列需要保持固定,而右列有文本。兩者都需要在列表中,我需要能夠在其他選項卡上覆制它。

下面是我使用運行選項卡系統的.js:

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:

.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設置我使用,使標籤:

<div id="_Content"> 
      <div id="_solutionsWrap"> 
       <div class='tabs2'> 
        <div class='moving_bg2'> 
        </div> 
        <span id="solucoes" class='tab_thumb' style="display:none"> 
         asdasdasd 
        </span> 
           <div id="_solutions"> 
        <div class='tabbed_content2'> 
         <div class='slide_content2'> 
          <div class='tabslider2'> 
          <ul> 
           <li> 
        <div class="solutions_left"> 
         <p></p> 
        </div> 
        <div class="solutions_right"> 
        <h1>solutions</h1> 
        <p></p> 

        <p></p> 
        </div> 

        </li> 
        </ul> 

         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 

我知道這聽起來有點混亂,但會有至少17個不同的TA bs,並且每個都需要有一個非滾動條來顯示圖像。

絕對定位將無法正常工作,每次嘗試切換標籤時,div都會保留在顯示區域內。

固定有同樣的問題。 我不知道如何解決這個問題,因爲我知道很少或沒有Javascript,更不用說jQuery。

+0

在jsfiddle.net中創建一個演示此問題的實時演示。 Solutuon可能與腳本無關,可能與純粹的css相關 – charlietfl

回答

0

我不知道你的標籤系統,而是一個從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

您的解決方案很好,但基於您發佈的內容,我將左欄完全固定,但只是在右欄添加了一個頁邊距,以便在留下一個。不打破布局,一切OK。謝謝。 – Zeldrak

相關問題