2016-10-19 10 views
0

($(window).width()を使用してJquery if else条件を使用しています。条件が自動的に適用されていない、むしろ私は条件を適用するには、ブラウザをリロードする必要があります。私は、ブラウザのサイズを変更する際にスムーズな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'サイズ変更イベントを使用してください...とにかく' window'幅をチェックしてビューポート幅を取得するのは悪い習慣です。代わりに[window.matchMedia()](https:// developer .mozilla.org/ja-jp/docs/Web/API/Window/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

関連する問題