Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   координаты относительно браузера (https://javascript.ru/forum/dom-window/17522-koordinaty-otnositelno-brauzera.html)

gradus 22.05.2011 22:18

координаты относительно браузера
 
Использую jquery и плагин к нему.Нужно найти координаты таблицы относительно окна браузера, т.к таблица перемещается вместе с браузером всмысле при скроллинге она тоже перемещается.Вот этот скрипт выдаёт координаты относительно документу, а не window.Не подскажите как такое реализовать ? у меня есть идея, но слишком мутарная.Это тоскать за собой не видимый див в левом верхнем углу и из ходя из его координат формировать табличные, может что-то по легче есть ?)
 $("#window").draggable({
		 handle: '#head',
		 containment:'window',
 stop: function(event, ui) { 
  width=screen.width; 
    height=screen.height; 
 var left=ui.offset.left;  var top=ui.offset.top;
alert ('Размер экарана x='+width+' y='+height+'\n таблица находиться на left='+left+' top='+top);

 }	 
		 });

walik 22.05.2011 22:43

Ну узнать позицию высоту относительно окна браузера можно так по моему:
top = $(elem).offset().top - $(window).scrollTop;

gradus 22.05.2011 23:03

ну что-то похоже) у меня ширина браузера 960, но top почему то максимум 740 содержит.

gradus 23.05.2011 22:25

а нет, всё правильно.Надо ж смотреть от расширения рабочей области , а не от расширения браузера :) спс)

Szen 26.03.2014 10:16

walik, Косячишь немного. Нужно так:
top = $(elem).offset().top - $(window).scrollTop();

ruslan_mart 26.03.2014 10:42

Или так:

top = $(elem).offset().top - document.documentElement.scrollTop;

imhateb 06.05.2015 15:25

Цитата:

Сообщение от walik (Сообщение 105759)
Ну узнать позицию высоту относительно окна браузера можно так по моему:
top = $(elem).offset().top - $(window).scrollTop;

Спасибо большое за это решение. Час не мог вкурить как получить позицию блока относительно окна.

kostyanet 07.05.2015 04:40

Цитата:

Сообщение от gradus
т.к таблица перемещается вместе с браузером

Графиня ехала в карете с поднятым и сложенным в гармошку задом.

elem_rect={
	left:function(elem){
		var b = D.body,
			e = D.documentElement, 
			x = W.pageXOffset || e.scrollLeft || b.scrollLeft,
			c = e.clientLeft || b.clientLeft || 0;
		return Math.round(elem.getBoundingClientRect().left+x-c);
	},
	top:function(elem){
		var b = D.body,
			e = D.documentElement, 
			y = W.pageYOffset || e.scrollTop || b.scrollTop,
			c = e.clientTop || b.clientTop || 0;
		return Math.round(elem.getBoundingClientRect().top+y-c);
	}
},


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