我有以下jQuery腳本來調整圖像的大小,並給它一個左邊距以水平居中。該腳本在FF中完美工作,但在Safari和Chrome中,我遇到了問題。腳本不工作在Safari和Chrome的document.ready(FF好吧),但在document.resize
Safari瀏覽器Chrome的&概率:圖像調整大小還好,但LEFTMARGIN似乎設置之前調整圖像的大小導致該推太最左邊的圖像。此問題僅在document.ready上發生。在調整瀏覽器大小時,腳本可以正常工作。
function imageresize() {
var h = $(window).height(),
w = $(window).width(),
newHeight = h * 0.5,
newTopMargin = newHeight * 0.12;
$('img.resize').css({'height' : newHeight + 'px', 'margin-top' : '-' + newTopMargin + 'px'});
var leftMargin = (w - ($('img.resize').width()))/2;
$('img.resize').css('margin-left', leftMargin + 'px');
}
$(document).ready(function() {
imageresize();
});
$(window).resize(function() {
imageresize();
});
該腳本放置在</body>
之前。
任何援助將不勝感激!
你總是可以嘗試將它放在SetTimeout(1)中,看看是否有幫助:) – Brad 2011-04-18 04:56:00
只要有可能,就避免嘗試這樣的事情。 JS是事件驅動的,所以它應該加載在正確的觸發器上,而不是假定需要1秒加載。 – wesbos 2011-04-18 05:02:40
*(無論如何; - )* – circey 2011-04-18 05:07:32