Добавить новый div, как только высота превысит определенное количество пикселей?

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Мне нужно разделить страницы, которые будут напечатаны, поэтому я решил получать максимальное количество пикселей высоты при каждом добавлении div, а затем, когда оно достигнет, например, между 700px и 720px, к нему добавится еще один заголовок, что означает, что будет печататься вторая страница.

Проблема в том, что высота каждого div будет разной, например:

 <div id="1"> <!-- example: height:40px--> </div>
<div id="2"> <!-- height:20px --> </div>
  

Это будет неопределенная высота, которая зависит от объема текста, который поступит из базы данных.

Я не могу выполнить onload в теле, потому что divs будут уже загружены, а onload не работает с divs.

Я все еще не могу придумать, как это сделать, любые идеи будут оценены

Я использую классический ASP с VBScript здесь (если это для чего-то поможет)

Спасибо!

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

1. было бы лучше поместить весь ваш текст в один блок, затем использовать клиентский код, чтобы разделить этот блок на куски и начать добавлять куски в divs, пока высота divs не превысит 700px. на самом деле вы мало что можете сделать на сервере, чтобы выяснить, насколько большой текст на стороне клиента будет отображаться. например, у человека с нарушениями зрения в режиме «крупный шрифт» будет НАМНОГО меньше текста на div, чем у человека с нормальным зрением

2. Хорошая идея, я попытаюсь что-нибудь придумать с этим. У меня не так много вариантов, так как я не знаю, насколько больше будет текст. Спасибо за идею

Ответ №1:

‘Определите максимальное количество символов, которое вы можете вместить в свои div файлы, затем с помощью скрипта генерации страницы разделите ваш контент на несколько разделов. например, с PHP:

 <?php
// Suppose the content is within the variable data and the max-length is 500 charcaters
$i = 1;
while ($data) {
    echo '<div id="' . $i   .'">'. substr($data, 0, 500) . "</div>";
    $data = substr($data, 500);
}
?>
  

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

1. Проблема в том, что у меня будет что-то вроде: дата — Описание проблемы — человек, который написал нам (аналогично таблице) Тогда количество символов в базе данных не ограничено, поэтому ограничение тогда просто сократило бы количество символов большего размера, что-то, что я могу сделать, это поиск, который имеет большую длину, и попытаться найти какой-то способ вывести высоты, но это действительно рискованно, я думаю…