0

重複の可能性:
$(window).width() が IE9 で機能しない

レスポンシブ Web デザインのために DOM 操作をしようとしています。IE では、これは機能しません。

var w = $(document).width(); 

if (w > 940) {
console.log("If test");     
} else {
console.log("Else test");

window.width を使用すると、IE では機能しますが、他のブラウザーでは機能しなくなります。そのためのクロスブラウザの方法はありますか?

4

3 に答える 3

2

あなたのアプローチには固有の問題があります。つまり、「レスポンシブ」とは、サイズの変化に対応するデザインを指すということです。ここで行っていることでは、ブラウザがロードされたときにのみ検出されます。

たとえば、このサイトを表示するために iPhone を使用していて、電話を縦向きではなく横向きに 45 度回転させたとします。基本的に、幅は変更されましたが、 width() は変更されませんでした。

DOM 操作に JavaScript を使用する必要があり、純粋な CSS では実現できない場合 (一般的にはこれが最善の方法です)、検討することをお勧めするオプションがいくつかあります。

  1. Rob Tarr http://seesparkbox.com/foundry/responsive_web_design_and_javascriptによって提案された matchMedia() メソッドを確認してください
  2. http://modernizr.com/またはこの問題を既に解決している他のライブラリを使用してください。
于 2012-10-19T22:08:04.793 に答える