Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.04.2013, 15:49
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

[Решено] Как установить высоту дива взависимости от длины загружаемого списка?
Вопрос такой, есть див, который вылезает сбоку, в него я гружу свой список из файла, сам список может быть пустым, а может быть и 200 позиций, хочеться что бы длина блока соответсвенно менялась - как такое осуществить на jQuery?

Последний раз редактировалось Kvark, 04.04.2013 в 16:15.
Ответить с цитированием
  #2 (permalink)  
Старый 03.04.2013, 17:51
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Если список многострочный, то высота будет количество строк умножить на высоту строки)

Количество строк списка можно получить так:
var num = $('ul').find('li').length;
Ответить с цитированием
  #3 (permalink)  
Старый 03.04.2013, 17:55
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

div{ height: auto }

Чем это не устраивает? Кстати это значение по умолчанию.
Ответить с цитированием
  #4 (permalink)  
Старый 03.04.2013, 19:11
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

С авто не грузит вообще

попробую объяснить, может не достаточно ясно описал суть:

я проверяю файл даных и загружаю его, если даные обновились, а вот как "проиницилизировать" высоту для вновь загруженых елементов - незнаю

вот как у меня это выглядит: http://test.tmp.kikilis.serveriai.lt/jqtest/

вот так прописано сейчас
<div id="fDeviceList" style="height: 150px">
   Тут загружаеться список.			
</div>

неумею соcчтитать загруженые элементы и менять высоту в зависимости от их количества

Последний раз редактировалось Kvark, 03.04.2013 в 19:28.
Ответить с цитированием
  #5 (permalink)  
Старый 03.04.2013, 19:31
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сосчтиать тебя уже научили, не ври.
Ответить с цитированием
  #6 (permalink)  
Старый 03.04.2013, 19:34
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

да, сосчитал тока что уже (переделал свой список чтоб был html) cписком и применил подсказку но как то странно он считает вместе с тегами...
ну на три поделю не беда, а как теперь правильно поменять значение высоты?
попробовал добавить такое:
$('#fDeviceList').css({'height':'500px'});

вот только за границу вылазит...

Последний раз редактировалось Kvark, 03.04.2013 в 20:15.
Ответить с цитированием
  #7 (permalink)  
Старый 04.04.2013, 07:13
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Допустим в переменной num у нас вычисленное значение высоты, тогда:
$('#fDeviceList').css('height', num);

Возможно
Сообщение от Kvark
но как то странно он считает вместе с тегами...
это происходит от того, что find ищет не только ближайших детей, но вообще все, что подходит (т.е. $('#fDeviceList').find('div') найдет ВСЕ дивы в #fDeviceList).
Ну кстати не надо забывать прибавить отступы (margin и padding).

Последний раз редактировалось tsigel, 04.04.2013 в 07:21.
Ответить с цитированием
  #8 (permalink)  
Старый 04.04.2013, 07:44
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('#fDeviceList').find('> div')
//или
$('#fDeviceList').children('div')
Ответить с цитированием
  #9 (permalink)  
Старый 04.04.2013, 11:50
Профессор
Отправить личное сообщение для Kvark Посмотреть профиль Найти все сообщения от Kvark
 
Регистрация: 02.04.2013
Сообщений: 225

c математикой разобрался более мение - спасибо, но что то высота не меняеться... вот как получаеться почемуто: http://test.tmp.kikilis.serveriai.lt/jqtest/
Ответить с цитированием
  #10 (permalink)  
Старый 04.04.2013, 12:45
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

И что не так?
Попробуйте получше сформулировать вопрос. Разбейте его по пунктам и хорошо распишите. Возможно в ходе этого занятия вы сами наткнетесь на ответ.

Пока что я вижу что у fDeviceList постоянная высота в 500, как вы и писали в коде. Кстати, чтобы вам активнее помогали сделайте короткий тестовый пример, отображающий суть проблемы и который можно запустить прямо тут (нет никакого желания лазить в ваши скрипты и искать в них что-то).

Тестовый пример выглядит примерно так:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<ul>
  <li></li>
  <li></li>
  <li></li>
</ul>
<script>
  var num = $('ul').find('li').length;
  alert(num);
</script>

Последний раз редактировалось tsigel, 04.04.2013 в 12:49.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12