2011-07-23 251 views
0

自動圖像調整大小今天我問了this question並得到了一些很好的答案(感謝那些幫助我的人:))。如果瀏覽器寬度=

現在請看看下面的代碼。我100%肯定調整大小的部分有效,但是我的if/else語句不起作用(我仍然是JS菜鳥)。我在前面的主題中也提到過這個問題,但有人說我應該發表一個新問題。

(該腳本應檢測某些瀏覽器寬度,因此可以調整#fluidimage的大小) 注意:調整大小的部分有效。只有視口寬度檢測和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