Показать сообщение отдельно
  #2 (permalink)  
Старый 18.02.2010, 22:21
Кандидат Javascript-наук
Отправить личное сообщение для vk65535 Посмотреть профиль Найти все сообщения от vk65535
 
Регистрация: 21.11.2008
Сообщений: 114

Если уж речь только про видимую область, то проще всего сделать через position: fixed;
(function() {
	for (var i = 0, a = '0   0'.split(' '), n = 'left top right bottom'.split(' '), e; i < 4; ++i) {
		if (e) e = e.cloneNode(false);
		else { e = document.createElement('div');
			e.style.cssText = 'position: fixed; width: 20px; height: 20px; border: 1px solid #000; background: #fff';
		}
		for (var j = 0; j < 4; ++ j) e.style[n[j]] = a[(4 + i - j) % 4];
		document.body.appendChild(e);
	}
})();

А поддержку 6-го осла, если нужна, можно сделать через expression.
Величина левого margin-а равна document.body.offsetLeft, а правого document.documentElement.clientWidth - document.body.offsetLeft - document.body.offsetWidth

Последний раз редактировалось vk65535, 18.02.2010 в 22:43.
Ответить с цитированием