Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.01.2015, 23:16
Новичок на форуме
Отправить личное сообщение для lookone Посмотреть профиль Найти все сообщения от lookone
 
Регистрация: 26.01.2015
Сообщений: 3

Определение координат блока с абсолютным позиционированием
В JS пока очень слабо разбираюсь, прошу подсказать, как можно реализовать следующее.

Имеется блок, содержащий обычный текст и кнопку, раскрывающую меню:
<div class="text">
	<span>Обычный текст</span>
	<div id="chooser" class="menuwrapper">
		<button class="trigger">устройство</button>
		<ul class="menu">
			...
		</ul>
	</div>
</div>

Блок имеет position:relative; ul имеет position:absolute;

Хотелось бы предотвратить выход меню за границы окна браузера. Пытаюсь получить координату левой границы меню:
var c = document.querySelector('#chooser .menu');
var pos_c_left = c.getBoundingClientRect().left;
$('body').append('<div>pos_c_left: ' + pos_c_left + ', ' + $(window).width() + '</div>');

В итоге получаю неверные значения при маленькой ширине окна браузера. Выдается координата левой границы основного блока '.text'.

Каким образом вычислить координату левой границы меню (с абсолютным позиционированием) относительно границы окна браузера? Пробовал считать с offsetParent, выдает аналогичный результат.

Последний раз редактировалось lookone, 27.01.2015 в 12:52.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2015, 12:43
Новичок на форуме
Отправить личное сообщение для lookone Посмотреть профиль Найти все сообщения от lookone
 
Регистрация: 26.01.2015
Сообщений: 3

Хм, хром по F12 в разделе Properties выдает правильные значения offsetLeft для элементов. А через JS выдаются совсем другие. В чем прикол?
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2015, 13:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Видимо ты где-то ошибся в своем скрипте. Давай полный пример - html + css + js. Можно на jsfiddle или в местной песочнице.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 27.01.2015, 14:58
Новичок на форуме
Отправить личное сообщение для lookone Посмотреть профиль Найти все сообщения от lookone
 
Регистрация: 26.01.2015
Сообщений: 3

Дело было в масштабе браузера. Решил так:
html, body {
	margin: 0;
	padding: 0;
	overflow-x: hidden;
}

html {
  overflow-y: scroll;
  overflow-x: hidden;
  width: 100%;
  height: 100%;
}

Тему можно закрывать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение координат объекта battrack jQuery 2 22.08.2012 17:18
jQuery. Определение координат SunChase Events/DOM/Window 0 01.02.2012 16:32
Определение координат мыши! sat-lin Events/DOM/Window 2 18.12.2009 11:12
определение абсолютных координат uncher4 Элементы интерфейса 5 20.06.2009 20:27
Определение координат body. Kolyaj Events/DOM/Window 10 04.04.2009 16:20