Это решение также будет срабатывать, если поля будут установлены в процентах, но оно может быть достаточно для ваших целей.По сути, вы записываете, какие поля изменяются при изменении размера.Таким образом, вы должны записать поля перед изменением размера в массив:
var aMargins = [];
$('.yourObjs').each(function(i,obj){
var objML = $(obj).css('marginLeft');
aMargins.push(objML);
});
Затем измените размер окна, посмотрите, какие поля изменились (это будет 'auto' или%), сделайте то, что вам нужно сделать, чтобыих и верните окно к исходному размеру:
var wW = $(window).width();
var wH = $(window).height();
window.resizeTo(wW - 5, wH);
$('.yourObjs').each(function(i,obj){
if ($(obj).css('marginLeft') != aMargins[i]) {
// your centering code here
}
}
window.resizeTo(wW,wH);
Если ваш центрирующий код просто настраивает левое поле, то это должно работать и для полей на основе%.Я не могу проверить этот код или предоставить пример, потому что я в дороге и пишу со своего телефона, но, надеюсь, это сработает или поможет вам придумать что-нибудь, что сработает.