функция при ресайзе
Нашел на просторах НЕТа одну небольшую функцию (самому написать мозгов пока не хватает), не хватает даже на модификацию.
Функция работает следующим образом - из указанных 2х блоков уравнивает их высоту. Задача состоит в том, что б перерасчет работал не только при однократной загрузке страницы, но и при ее ресайзе. var oldHandler = window['onload']; window['onload'] =function() { if(typeof(oldHandler) == 'function') { oldHandler(); } setHeight(); }; function setHeight() { var b1 = document.getElementById('name1'); var b2 = document.getElementById('name2'); if (!b1 || !b2) return; var h1 = b1.offsetHeight; var h2 = b2.offsetHeight; if (h1 > h2) { b2.style.height = (h1 - 0) + 'px'; b1.style.height = (h1 - 0) + 'px'; }else if (h1 < h2) { b1.style.height = (h2 - 0) + 'px'; b2.style.height = (h2 - 0) + 'px'; } } |
window.onload = window.onresize =function() {...
Ну и про старую функцию на ресайзе не забыть... |
ZoNT,
именно так я и пробовал - не вышло :( |
фигово пробовал...
|
блин, даже отредактировать не успел, уже ответ :)
в общем не совсем так я пробовал функция у меня в голове (в смысле в head-e) var oldHandler = window['onload']=window['onresize']; window['onresize']=window['onload'] =function() { if(typeof(oldHandler) == 'function') { oldHandler(); } setHeight(); }; function setHeight() { var b1 = document.getElementById('name1'); var b2 = document.getElementById('name2'); if (!b1 || !b2) return; var h1 = b1.offsetHeight; var h2 = b2.offsetHeight; if (h1 > h2) { b2.style.height = (h1 - 0) + 'px'; b1.style.height = (h1 - 0) + 'px'; }else if (h1 < h2) { b1.style.height = (h2 - 0) + 'px'; b2.style.height = (h2 - 0) + 'px'; } } Код изменил только в функцие. |
var oldHandler = window['onload']=window['onresize'];
Это что? Ты затёр онлоад! |
ZoNT, вроде ситуация потихоньку проясняется
но почему тогда не пашет такой вариант var oldHandlerl = window['onload']; var oldHandlerr=window['onresize']; window['onresize']=window['onload'] =function() { if(typeof(oldHandlerl) == 'function' || typeof(oldHandlerr) == 'function') {//в сравнении пробовал оставить только одно- результат все равно отрицательный oldHandlerl(); } setHeight(); }; остальная часть кода - без изменений Upd. Кстати, зачем нам нужны эти олдХэндлеры? |
дай ссылку на страничку, а то я тут с тобой до пенсии сидеть буду...
|
|
Я не понял, блоки при онлоаде, стали равны, что ты хочешь от онресайза?
|
Часовой пояс GMT +3, время: 15:49. |