Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.02.2009, 17:32
Аспирант
Отправить личное сообщение для BAnder Посмотреть профиль Найти все сообщения от BAnder
 
Регистрация: 22.04.2008
Сообщений: 36

функция при ресайзе
Нашел на просторах НЕТа одну небольшую функцию (самому написать мозгов пока не хватает), не хватает даже на модификацию.
Функция работает следующим образом - из указанных 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';
		}
	}
Ответить с цитированием
  #2 (permalink)  
Старый 06.02.2009, 17:47
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

window.onload = window.onresize =function() {...

Ну и про старую функцию на ресайзе не забыть...
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2009, 17:48
Аспирант
Отправить личное сообщение для BAnder Посмотреть профиль Найти все сообщения от BAnder
 
Регистрация: 22.04.2008
Сообщений: 36

ZoNT,
именно так я и пробовал - не вышло
Ответить с цитированием
  #4 (permalink)  
Старый 06.02.2009, 17:49
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

фигово пробовал...
Ответить с цитированием
  #5 (permalink)  
Старый 06.02.2009, 17:53
Аспирант
Отправить личное сообщение для BAnder Посмотреть профиль Найти все сообщения от BAnder
 
Регистрация: 22.04.2008
Сообщений: 36

блин, даже отредактировать не успел, уже ответ
в общем не совсем так я пробовал
функция у меня в голове (в смысле в 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';
        }
    }

Код изменил только в функцие.
Ответить с цитированием
  #6 (permalink)  
Старый 06.02.2009, 18:08
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

var oldHandler = window['onload']=window['onresize'];

Это что? Ты затёр онлоад!
Ответить с цитированием
  #7 (permalink)  
Старый 06.02.2009, 18:18
Аспирант
Отправить личное сообщение для BAnder Посмотреть профиль Найти все сообщения от BAnder
 
Регистрация: 22.04.2008
Сообщений: 36

ZoNT, вроде ситуация потихоньку проясняется
но почему тогда не пашет такой вариант
var oldHandlerl = window['onload'];
var oldHandlerr=window['onresize'];
	window['onresize']=window['onload'] =function() {
	   if(typeof(oldHandlerl) == 'function' || typeof(oldHandlerr) == 'function') {//в сравнении пробовал оставить только одно- результат все равно отрицательный
	      oldHandlerl();
	   }
	   setHeight();
	};

остальная часть кода - без изменений


Upd. Кстати, зачем нам нужны эти олдХэндлеры?

Последний раз редактировалось BAnder, 06.02.2009 в 18:35.
Ответить с цитированием
  #8 (permalink)  
Старый 06.02.2009, 18:34
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

дай ссылку на страничку, а то я тут с тобой до пенсии сидеть буду...
Ответить с цитированием
  #9 (permalink)  
Старый 06.02.2009, 18:37
Аспирант
Отправить личное сообщение для BAnder Посмотреть профиль Найти все сообщения от BAnder
 
Регистрация: 22.04.2008
Сообщений: 36

ZoNT,
вот

ЗЫ. а мне все больше и больше начинает нравиться этот форум
Ответить с цитированием
  #10 (permalink)  
Старый 06.02.2009, 18:41
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

Я не понял, блоки при онлоаде, стали равны, что ты хочешь от онресайза?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 18:31
смена картинок при нажатии sdff Общие вопросы Javascript 15 08.02.2014 16:08
изменения рисунка при наведении курсора Kenan Bek Events/DOM/Window 24 19.12.2010 20:48
Firefox: перехватить соббытие при перетаскивании текста no_alex Общие вопросы Javascript 9 21.08.2008 18:02
Не отрабатывает событие onmouseout при внедрении нового слоя ilshat Элементы интерфейса 3 28.07.2008 06:27