Определите подходящую высоту родительского Div для использования с jQuery Accordion

#jquery #database #resize #height #accordion

#jquery #База данных #изменение размера #высота #аккордеон

Вопрос:

Я создаю систему лестниц, которая использует функцию jQuery Accordion для отображения расширяемых разделов данных. Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю на заголовок, чтобы область содержимого выпадала / разворачивалась, это изменяет размер страницы (и, следовательно, полосу прокрутки вправо).

Я хотел бы каким-то образом программно определить высоту содержимого, которое я генерирую. Данные внутри области содержимого accordion извлекаются из базы данных, и нет способа точно узнать, насколько большими они будут заранее.

По сути, то, чего я пытаюсь достичь, заключается в том, чтобы родительскому элементу <div> была установлена определенная высота, позволяющая аккордеонам расширяться без изменения размера страницы.

Есть идеи? Я был бы очень любезен!

Редактировать


На самом деле, если подумать, размер данных, содержащихся в области содержимого, ограничен максимум 10 строками. Что делает размер непредсказуемым, так это количество областей содержимого, которые будут отображаться. Есть ли способ вернуть, сколько результатов SQL соответствует моему запросу, а затем установить родительскую оболочку / инкапсуляцию на высоту, соответствующую этому числу?

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

1. На самом деле, если подумать, размер данных, содержащихся в области содержимого, ограничен максимум 10 строками. Что делает размер непредсказуемым, так это количество областей содержимого, которые будут отображаться. Есть ли способ вернуть, сколько результатов SQL соответствует моему запросу, а затем установить родительскую оболочку / инкапсуляцию <div> на высоту, соответствующую этому числу?

2. Я не знаю, будет ли это решением, но если вы определите максимальный размер и используете ползунок пользовательского интерфейса jQuery для прокрутки содержимого ?!

3. Или вы можете поместить его внутри div с фиксированной высотой и шириной.

Ответ №1:

COUNT(*)

Вернет число из SQL в зависимости от того, что вы его задаете. Например

 $q = query('SELECT COUNT(*) AS `numrows` FROM **DESIRED TABLE** WHERE ** CRITERIA IS WHAT YOU WANT**');

echo json_encode($q);
  

Javascript вызовите ajax к вышеупомянутому запросу, получите число и установите его в JS var. Теперь у вас есть js var с количеством строк в нем

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

1. Кажется, это то, что я искал. Я дам вам знать, как это получается! Спасибо за быстрый ответ.

Ответ №2:

В jquery:

 var parentheight = $('.div').height(); // Height of the div.
  

И затем вы можете использовать это везде, где захотите.

Сработает ли это для вас?

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

1. Нет, извините. Я не пытаюсь определить высоту div. Я пытаюсь определить, какую установить его высоту, основываясь на критериях, описанных выше.