2011-07-23 9 views
0

の場合、画像のサイズが自動的に変更されました。今日はthis questionに尋ねられ、いくつかの素晴らしい回答がありました。ブラウザの幅が

次のコードをご覧ください。私は100%リサイズパートが動作することを確信していますが、私のif/elseステートメントは動作しません(私はまだJSルーキーです)。私は以前の話題でこれについても言及しましたが、誰かが新しい質問を投稿するべきだと言いました。

(スクリプトは誰かのブラウザの幅を検出する必要がありますので、#fluid画像のサイズを変更することができます) 注:サイズ変更パーツが動作します。ビューポート幅の検出とif/else文だけはまだ機能しません。

$(window).load (function() { 

    function resizer (index, measurement) { 
     var imageresize = 80; 
     var viewportWidth = width(); 

     if ((viewportWidth >= 1680)) { 
      imageresize = 100; 
     } else if ((viewportWidth <= 1680) && (viewportWidth > 1280)) { 
      imageresize = 80; 
     } else if ((viewportWidth <= 1280) && (viewportWidth > 1024)) { 
      imageresize = 60; 
     } else if ((viewportWidth <= 1024)) { 
      imageresize = 40; 
     } else { 
      imageresize = 100; 
     } 


     this.wCall = (typeof this.wCall == "null") ? true : this.wCall^true; 
     return this.wCall ? Math.round (measurement * imageresize/100) : measurement; 
    } 
    $("#fluidimage").width (resizer).height (resizer); 
}); 
+0

あなたは純粋なCSSでのサイジングを行うことを検討しませんか? Less Framework(http://lessframework.com/)のようなフレームワークで幅ロジックに従えば、画像がロードされてからDOMがレンダリングを終了するまでのフリッカー効果を避けることができます。 –

答えて

1

変更を行います。

var viewportWidth = width(); 

var viewportWidth = $(window).width(); 


See it at jsFiddle.

+0

ありがとうございました!完全に私のために働いた! – Frank

関連する問題