2012-02-10 17 views
0

現在のページ幅に基づいてページに特定のスタイルを追加しようとしています。私はこれをライブで機能させたい。たとえば、iPhoneで表示しているときに既に読み込まれたページを表示しているときに画面を回転させると、CSSが変更されます。また、モバイルjqueryライブラリを使用するのが理想的です。助けを前にありがとう。ここでは、すべてを選択し、バックスペースを打つ/キーボードのキーを削除し、私がこれまで動作するようには思えない、私もLiveQueryを使用してみましたが、それは今ページ幅に基づいてCSSライブを変更する

$(function() { 
    $(document).live('css_init', function() { 
      if (($(window).width()) > 430) { 
       $('#main_panels .next').addClass("next-wide"); 
       $('#main_panels .prev').addClass("prev-wide"); 

      }; 
     }); 
     $(document).trigger('css_init'); 
}); 
+1

あなたはメディアクエリを考慮しましたか? –

答えて

5

停止のいずれかを動作しませんでしたものです。

これで恐怖が薄れてきたので、Media Queriesにご紹介しましょう。これは、最新の携帯端末(WAPポータルではなく、フルウェブブラウザ搭載のもの)で完全にサポートされています。最新のデスクトップブラウザでも広くサポートされています。唯一の例外はIE < 9です。そのためにはRespond.jsです。

今、ウェブ標準の栄光に満ちています。

+2

あなたが説明した方法に+1してください:) – ShankarSangoli

+0

私のPC上のSafariで動作しますが、私のモバイルデバイスでは動作しません。これは、ロード中だけでなく、CSSライブを更新する必要があります。 – pbal

+0

メディアクエリはライブで更新されます。そうでない場合は、使用しているクエリに問題があるか、特定のモバイルデバイス/モバイルブラウザにバグがあります。デバイスによっては、幅とデバイス幅が他のデバイスとは違ってレポートされることにも注意してください。また、device-widthはデバイスによっては方向に依存しません。つまり、デバイス幅はデバイス幅です。クエリを期待どおりに機能させるには、テストと調整が必要ですが、Webへようこそ。 –

0

jquery resizeイベントリスナーを使用できますか?

myFunction() { 
    var w = $(window).width(); 
    if (w > 430){ 
     // do stuff 
    }; 
} 
$(window).resize(function(){ 
    myFunction(); 
} 
0

CSSメディアクエリは、javascriptなしで実行する必要があります。あなたはいくつかのハードの解像度のcontraintsを追加したいが行うのはthatsのは簡単かもしれ

<link rel='stylesheet' media='screen and (orientation:landscape)' href='css/landscape.css' />

はこのような何かを試してみてください。

http://css-tricks.com/css-media-queries/

関連する問題