2017-02-26 14 views
0

メディアクエリに基づいてユーザーのブラウザの幅を正確に把握する方法を実装しようとしています。たとえば、#check_screenと呼ばれる要素divが最初にブロック要素として表示されます。ブラウザの幅が< 420pxの場合、#check_screendisplay: noneのプロパティを持ちます。これは私がこれまでにしようとしているものです:jQueryを使用してメディアクエリでブラウザの幅を検出する

HTML

<div id='check_screen'></div> 

CSS

#check_screen{ 
    display: block; 
} 

@media only screen and (max-width: 420px){ 
    #check_screen{ 
     display: none; 
    } 
} 

jQueryの

$(document).ready(function() { 
    // run test on initial page load 
    checkSize(); 

    // run test on resize of the window 
    $(window).resize(checkSize); 
}); 

//Function to the css rule 
function checkSize(){ 
    if ($("#check_screen").css("display") == "none"){ 
     console.log("hello"); 
    } 
} 

のために何らかの理由で、正しく動作していません。画面のサイズを< 420pxに変更すると、メッセージはコンソールに表示されません。私も:visible jQueryセレクタを使ってみましたが、それはうまくいきません。私はブラウザとしてChromeを使用しています。

答えて

1

のようになる: $(window).resize(checkSize);は補正はなし、他の変更を私のために働いたこと

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

でなければなりません。

+0

何らかの理由でまだそれが私のために働いていない – user2896120

+0

デモがありますhttp://codepen.io/khaledallen/pen/egXxMb?editors=1111 –

+0

ああ私が参照してください!私のサイズ変更機能はdocument.ready機能の外でした。ありがとうございました! – user2896120

0

不可視divを割り当て、その色を黒に設定します。

サイズを変更する場合は、色を緑に変更します。

Javascriptが私はあなたが構文エラーがあると思う

var check = $("element").css("background-color"); 

if(check == "black" { 
} 

else if... 
+0

まだ何らかの理由で動作していません – user2896120

+0

jqueryを含んでいますか?これをonLoadに入れましたか?コードをフィドルに投稿してください。 –

関連する問題