2013-07-03 81 views
0

我正在使用.resize()重新計算某個響應式登錄頁面的某些<div>和元素。但它似乎並不準確,因爲當我快速調整窗口大小時,每個元素的位置都不正確。如果我調整緩慢而平靜,那麼一切都很好。看起來.resize()沒有「足夠快」,以至於有些計算錯過了。jQuery調整大小()無法正常工作

我的代碼有沒有什麼特別的:

var faktor = 1014/515; 
$(window).resize(function() { 

    if($(window).width() <= 1015 && $(window).width() >= 800) { 
     var w = $(window).width(); 
     var h = w/faktor; 

     $('#modul').css({'width': w, 'height': h}); 
     $('#footer').css('width', w); 
     $('#headerlinks').css('width', $(window).width()-507); 

    } 

    if($(window).width() <= 801) { 

    } 
}); 

在此先感謝!

回答

0

嘗試使用超時阻止它一點點,看看它是否更好或最差:

(function() { 
    var timeoutResize; 
    $(window).resize(function() { 
     clearTimeout(timeoutResize); 
     timeoutResize = setTimeout(function() { 
      if ($(window).width() <= 1015 && $(window).width() >= 800) { 
       var w = $(window).width(); 
       var h = w/faktor; 

       $('#modul').css({ 
        'width': w, 
        'height': h 
       }); 
       $('#footer').css('width', w); 
       $('#headerlinks').css('width', $(window).width() - 507); 

      } 

      if ($(window).width() <= 801) { 

      } 
     }, 50); 

    }); 
}()); 
+0

應該是一個很好的解決方法,但對我來說不工作,要麼!不知道爲什麼。 – supersize

+0

你能提供在線鏈接來測試嗎? –

相關問題