2013-08-31 71 views
0

我添加一個位置屬性到div容器的特定寬度上的div,並且正在除去該div容器的其他寬度上的相同屬性,但它工作但它不會切換,我的意思是它堅持先應用了什麼,類似的問題正在發生,我錯過了什麼? 我想切換,這意味着當寬度大於711px更大的風格和類應補充,而當寬度小於711px,以下兩者應該被刪除是我的代碼:無法切換窗口上的屬性和類大小事件

的Javascript :

$(function() { 
$(window).resize(function() { 
    var windowSize = $('#mainContainer').width(); 

    if (windowSize > 711) { 
     $('#navBar').attr('style', 'position: fixed'); 
     $('#mainContent').addClass('offset2'); 

    } 
    if (windowSize < 711) { 
     $('#navBar').removeAttribute('style'); 
     $('#mainContent').removeClass('offset2'); 
    } 
}); 

});

HTML:

<div class="container-fluid"> 
     <div class="row-fluid" id="mainContainer"> 
      <div class="span2" id="navBar" > 
       <nav> 
        <ul class="nav nav-tabs nav-stacked "> 
         <li><a href="#">Home</a></li> 
         <li><a href="#">Spotlight</a></li> 
         <li><a href="#">Movies</a></li> 
         <li><a href="#">Tv Shows</a></li> 
         <li><a href="#">Show Case</a></li> 
         <li><a href="#">About</a></li> 
         <li><a href="#">Subscribed</a></li> 
        </ul> 
       </nav> 
      </div> 
      <div class="span10" id="mainContent"> 
     <p> 
      Enter a long paragrah of dummy text here, in order to see if the sidebar is scrolling along! 

     </p> 
    </div> 

</div> 

+0

如果寬度**等於** 711會怎麼樣? –

+0

我處理「等於」,但沒有工作,所以我只用「少於」和「等於」進行測試。 –

+0

@ Umer:不在上面你沒有。 –

回答

3

使用.css('position','fixed').attr('style', 'position: fixed')。 Try:

$(window).resize(function() { 
    var windowSize = $('#mainContainer').width(); 
    if (windowSize > 711) { 
     $('#navBar').css('position','fixed'); 
     $('#mainContent').addClass('offset2'); 

    } 
    if (windowSize < 711) { 
     $('#navBar').css('position','relative'); 
     $('#mainContent').removeClass('offset2'); 
    } 
}); 
+1

如果'windowSize === 711'? –

+0

@ T.J.Crowder - 宇宙爆炸。 – j08691

+1

對。那很糟。好的。重要的安全提示。謝謝,@ j08691。 –