Доброго времени суток. У меня на сайте дизайн построен по принципу блокнота (faiwer.ru), в нижней правой части может получится небольшой разрыв или наплыв, что не есть хорошо. Написал для решения этой проблемы скрипт, который залатывает дыру отдельным DIV-ом. Повешал выполнение этой функции при Ready() и onResize(). Однако, иногда, блок (который аля блокнот) изменяет свои размеры не изменяя размеры формы, ввиду чего надо заного вызвать мою функцию по залатыванию. Но я не знаю как отследить это событие.
Либо дописывать во все функции, которые могут растянуть DIV, свою функцию, что малореально (да и вообще аморально), либо повешать таймер. Я не уверен, но мне показалось, что мой сайт крашится в IE7 именно из-за таймера, похоже что там происходит переполнение буфера.
Что посоветуете сделать? Как решить проблему?
Вот код функции
function fix_page(){
var ext_H = 48; // лишняя высота
var one_item = 46; // высота одного полного звена
var bad_section = 23; // нормальная часть - резерв на всякий пожарный
var d = document.getElementById("left_column");
var c = document.getElementById("cover");
if (!d || !c) return false;
var dy = (d.clientHeight - (ext_H)) % one_item;
if (dy < bad_section)
c.style.bottom=25+dy+"px"
else c.style.bottom=24+"px";
setTimeout("fix_page()", 1000);
}