2016-10-19 22 views
0

我正在使用jquery if else條件與($(window).width()
它工作正常但當窗口寬度改變時,條件是不會自動適用,而我需要重新加載瀏覽器應用狀態。會有什麼幫助,當我調整瀏覽器順利拿到了CSS媒體查詢一樣的變化。

jQuery(document).ready(function($) { 
 

 
    if ($(window).width() < 767) { 
 
     $('p').removeClass('blue'); 
 
     $('p').addClass('green'); 
 
    } 
 
    else { 
 
     $('p').addClass('red'); 
 
     $('p').removeClass('blue'); 
 
    } 
 
    
 

 
});
.red { 
 
    color: red; 
 
} 
 

 
.green { 
 
    color: green 
 
} 
 

 
.blue { 
 
    color: blue 
 
}
<p class="blue">Hello World</p> 
 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Fiddle

+1

你調用它的文件準備好。如果你想檢查每個調整大小,然後使用'窗口'調整大小的事件...無論如何,檢查'窗口'寬度以獲取視口寬度是不好的做法,改爲使用[window.matchMedia()](https://開發人員.mozilla.org/EN-US /文檔/網絡/ API /窗/ matchMedia)。遐,你可以只使用CSS媒體查詢... –

回答

0

試試下面的代碼

jQuery(document).ready(function() { 
    Responsive(); 
}); 

$(window).resize(function() { 
    Responsive(); 
}); 

function Responsive(){ 
    if ($(window).width() < 767) { 
     $('p').removeClass('blue'); 
     $('p').addClass('green'); 
    } 
    else { 
     $('p').addClass('red'); 
     $('p').removeClass('blue'); 
    } 
} 
+0

這段代碼似乎只工作一次,只有一種方式。可能是我正在尋找不同的東西。 :) –

+0

窗口寬度更改時響應函數調用。控制addClass和removeClass函數。 $('p')。removeClass('blue')每次運行。所以,當窗口寬度改變時,P顏色保持不變。 @SalimHossain – selami

相關問題