2013-05-29 171 views
0

我正在運行第三方腳本,它在加載時計算元素的寬度。它工作的很好,但我有一個響應式網站,當我重新調整瀏覽器的大小時,元素不再正確顯示。瀏覽器調整大小後重新計算寬度

這裏是用來計算寬度的代碼:

var w = ticker.width(); 
if (label.length) w -= label.outerWidth() + parseFloat(label.css("margin-right")); 
if (controls.length) w -= controls.outerWidth() + parseFloat(controls.css("margin-left")); 
news.css("width", w); 

如何修改腳本以重新計算寬度的這部分時,瀏覽器被調整?

回答

5

這裏是什麼工作最好

$(window).resize(function() { 
if(this.resizeTO) clearTimeout(this.resizeTO); 
    this.resizeTO = setTimeout(function() { 
     $(this).trigger('windowResize'); 
    }, 500); 
}); 
$(window).on('windowResize', function() { 
    console.log($(window).width()); // calculating here 
}); 

原因有超時是窗口需要一些時間來獲得SETTEL的寬度,但經典window.resize事件得到觸發之前setteled下來

+0

很不錯,乾淨和實用 –

+0

你能解釋爲什麼一個是resize()而另一個是on()? –

+0

windowResize是我通過的自定義事件,所以要聽我使用() –

0
$(window).on('resize', function(){ 
    //your code to calculate the width 
}); 
相關問題