Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Координаты body относительно окна при margin auto (https://javascript.ru/forum/events/7775-koordinaty-body-otnositelno-okna-pri-margin-auto.html)

varanio 18.02.2010 22:03

Координаты body относительно окна при margin auto
 
мне надо в каждом углу видимой области отобразить картинки. я могу через jQuery понять $(window).scrollTop(), scrollLeft, width, heigth. Но я не могу понять как мне добавить картинки в dom так, чтобы было независимо от верстки страницы. К примеру, body может быть сделано посередине страницы:
body {margin: 0 auto; position: relative; width: 996px}

и получается, что если я добавляю элемент к боди, то он тоже начинается не от края браузера, а от начала body.

В общем, как выкрутиться?

vk65535 18.02.2010 22:21

Если уж речь только про видимую область, то проще всего сделать через 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

varanio 19.02.2010 10:28

Спасибо, всё получилось


Часовой пояс GMT +3, время: 15:12.