2013-06-13 31 views
0

我有Bootstrap布局与span7span5(在span12内)。我想隐藏span7和展开span5作为span12当一个按钮点击平滑动画。同样,按下sam按钮,span7和span5都应显示。如何实现此目的?内部内容也应该根据父跨度灵活。如何当span7和span5显示隐藏在引导时动画

<div id="summary-content" class="contentbar-main" style="display:none;"> 
            <div class="container-fluid"> 
             <div class="row-fluid"> 
              <div class="span12"> 
               <div class="row-fluid no-space"> 
                <div class="span7" id="sidebarid"> 
                 <div class="myh4">My Summary</div> 
                 <br> 
                 <div id="summaryTableId"></div> 
                </div> 
                <div class="span5" id="contentbarid"> 
                 <div class="row-fluid"> 
                  <div class="span12"> 
                   <div> 
                    <span class="summary-left-hide-arrow" id="toggle-button"></span> 
                    <span class="myh4">Map</span> 
                   </div> 
                    <br> 
                   <div id="#map-canvas" style="width:100%;height:400px;"></div> 
                  </div> 
                 </div> 
                 <div class="row-fluid"> 
                  <div class="span12"> 
                   <br> 
                   <div class="myh4">Time Sheet</div><br> 
                   <div id="newTableId"></div> 
                  </div> 
                 </div> 
                </div> 
               </div> 
              </div> 
             </div> 
            </div> 

回答

3

假设这是一个按钮,做了的HTML:

<a href="#" id="hideSpan">Hide Span</a> 

那么下面的jQuery应该做的伎俩(把它放在你的document.ready函数中)

$('#hideSpan').click(function() { 
    $('#sidebarid').removeclass('span7').addClass('hidden'); 
    $('#contentbarid').removeclass('span5').addClass('span12'); 
}); 

您需要将下面的CSS添加到您的页面太

.hidden { display: none; } 

UPDATE:忽略前面例子中的添加和删除类,这应该提供一个平滑的动画。

$('#hideSpan').click(function() { 
    $('#sidebarid').hide(1000); 
    $('#contentbarid').animate({width: '100%'}, 1000); 
}); 
+0

Yes.It工作正常。当侧栏隐藏时,我需要平滑的动画,同一时间内容栏可以顺利地展开。我尝试过这样,但是随机动画。('#sidebarid')。removeClass('span7')。addClass('hidden',1000); $('#contentbarid')。removeClass('span5')。addClass('span12',1000); – Ramprasad

+0

嗯,我没有看到问题中的平滑动画位。为了隐藏'$('#sidebarid')隐藏(1000)''而拥有平滑的动画是非常容易的,但是扩展为平滑动画会有点棘手。我认为'$('#contentbarid')。animate({width:'100%'},1000);'会做。 – Andrew

+0

$( '#sidebarid')removeClass( 'span7')addClass( '隐藏')动画({宽度: '100%'},1000)。。。; $( '#contentbarid')removeClass( 'span5')addClass( 'span12')动画({宽度: '100%'},1000)。。。;我试过这样。但不行。我认为隐藏一个跨度并同时扩展一个apn是非常棘手的。 – Ramprasad