05.08.2011, 13:02
|
Интересующийся
|
|
Регистрация: 05.08.2011
Сообщений: 14
|
|
Высота динамичного дива
Доброго дня всем!
Подскажите, как получить высоту дива который может иметь различную высоту в зависимости от контента.
просто document.getElementById('div').height/.style.height не подходит т.к. на сколько я понимаю, если его не прописать самому, он не находится.
Вроде есть возможность через джейквери $('div').height(); но я попробовал и не получилось.
Заранее спасибо за помощь!
П.С. нужно для позиционирования дива относительно курсора (всплывающие подсказки, текста может быть много и чтоб коректно позиционировать нужна высота)
|
|
05.08.2011, 14:14
|
|
Люмус, Емаксос Developer!
|
|
Регистрация: 06.05.2010
Сообщений: 677
|
|
offsetHeight, offsetWidth
|
|
05.08.2011, 17:20
|
Интересующийся
|
|
Регистрация: 05.08.2011
Сообщений: 14
|
|
Не помогло, результат - 0.
|
|
05.08.2011, 17:33
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
Сообщение от AndrejsG
|
Вроде есть возможность через джейквери $('div').height(); но я попробовал и не получилось.
|
Почему не получилось ?
<script type='text/javascript' src='http://code.jquery.com/jquery-1.6.2.js'></script>
<script type='text/javascript'>
$(window).load(function(){
alert($('#myDiv').height());
});
</script>
<div id="myDiv">
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
</div>
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
|
|
05.08.2011, 17:53
|
Интересующийся
|
|
Регистрация: 05.08.2011
Сообщений: 14
|
|
Супер, а такой вопрос, я могу скопировать функцию из джейквери и вложить её в свой файл чтоб из своего js файла находить высоту?
|
|
05.08.2011, 18:44
|
|
Профессор
|
|
Регистрация: 09.11.2009
Сообщений: 1,101
|
|
В смысле ?
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
|
|
05.08.2011, 19:21
|
Интересующийся
|
|
Регистрация: 05.08.2011
Сообщений: 14
|
|
У меня есть файл название.js и я в нём пытаюсь получить
alert($(document.getElementById(d.id)).height());
где d.id = ид дива
но я на сколько понимаю height() бирется из http://code.jquery.com/jquery-1.6.2.js не?
Последний раз редактировалось AndrejsG, 05.08.2011 в 19:33.
|
|
05.08.2011, 23:36
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
Вкрно понимаете, и нет, там всё взаимосвязано.
<div id="myDiv">
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
aaaaaaaa<br />aaaaaaaaaaaaa<br />
</div>
<script type='text/javascript'>
alert(document.getElementById('myDiv').offsetHeight);
</script>
__________________
29375, 35
|
|
08.08.2011, 11:03
|
Интересующийся
|
|
Регистрация: 05.08.2011
Сообщений: 14
|
|
Спасибо Aetae ваш пример работает, но не так как хотелось бы, мне кажется это потому, что див высоту которого я хочу узнать, не отоброжаеться. Пользователь наводит курсор на объект, срабатывает функция позиционирования, и толко тогда выставляется дисплей блок для дива. И получается что когда я вызываю строку alert(document.getElementById('myDiv').offsetHeigh t); в финкции позиционирования, то результат - 0, а когда после, то получаю высоту, но обьект уже расположен не правельно. Может ещё что нибудь подскажите.
|
|
08.08.2011, 11:36
|
Интересующийся
|
|
Регистрация: 05.08.2011
Сообщений: 14
|
|
Сообщение от AndrejsG
|
Спасибо Aetae ваш пример работает, но не так как хотелось бы, мне кажется это потому, что див высоту которого я хочу узнать, не отоброжаеться. Пользователь наводит курсор на объект, срабатывает функция позиционирования, и толко тогда выставляется дисплей блок для дива. И получается что когда я вызываю строку alert(document.getElementById('myDiv').offsetHeigh t); в финкции позиционирования, то результат - 0, а когда после, то получаю высоту, но обьект уже расположен не правельно. Может ещё что нибудь подскажите.
|
Немного погуглил и нашел ответ, работает во всех современных броузерах. Т.к. для получения offsetHeight нужен дисплей блок, то выставляем его, но visibility выставляем hidden, что дает возможность получить высоту невидимого элемента. Помоему хитрый способ..
|
|
|
|