Функция высоты jQuery выводит 1

#jquery #css

#jquery #css

Вопрос:

У меня есть следующий CSS:

 div#autosurf {
  display: none;
  width: 100%;
  height: 700px;
  position: relative;
}
div#autosurf #frames-container {
  background: #ff88ff;
  height: 79%
}
div#autosurf #info {
  height: 19%;
}  
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  

Я пытаюсь разделить экран на 80% — 20%. Это нормально и работает. Но проблема в том, когда я делаю $('#frames-container').height() это вывод 1 . не 0 не undefined , но 1 . Где может быть проблема?

РЕДАКТИРОВАТЬ 1: я попытался установить для этого цвет фона, frames-container и я вижу, что высота больше 1 . что не так?

Комментарии:

1. Можете ли вы предоставить JSFiddle

2. Пожалуйста, обновите эту скрипку: jsfiddle.net/hv2oh5y2

3. помните, что всегда есть границы, отступы, поля… я бы сказал, что было бы неплохо иметь JSFiddle

4. но трудно имитировать этот конкретный пример… У меня под руками большое приложение, и я не могу поместить его целиком в JSFiddle

Ответ №1:

Удалить display:none из div#autosurf

JSFiddle

Комментарии:

1. Я делаю это так: $('#autosurf').slideDown(); но вы помогли мне решить мою проблему … slideDown() требует времени, и я должен выполнить свою логику в setTimeout(), когда slideDown закончится… Спасибо

Ответ №2:

Попробуйте VanilaJS $(‘….’)[0]. Высота смещения

Комментарии:

1. в любом случае также возвращает 1