Есть ли способ узнать, сколько строк займет фрагмент HTML при рендеринге? - PullRequest
0 голосов
/ 31 января 2011

Учитывая некоторый HTML-код, есть ли способ (в частности, в Ruby on Rails), чтобы узнать, сколько строк HTML будет занимать на экране при рендеринге?

- Пояснения: Он находится в файле erb, но я просто говорю об одной строке, которая будет отображаться как HTML, так что да, текст, содержащий теги HTML.

- РЕДАКТИРОВАТЬ:

Изображение большего размера: я хочу знать, какой рост имеет определенный сегмент страницы, чтобы я мог условно включить некоторые ссылки «Следующий / Предыдущий» внизу. Эти навигационные ссылки отображаются над вышеупомянутым сегментом, поэтому я хочу включить ссылки только снизу, если сегмент очень высокий.

Ответы [ 4 ]

2 голосов
/ 31 января 2011

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

Обновление В соответствии с вашими правками, вам нужно сделать это на клиенте, используя JavaScript. Это на самом деле довольно просто.

  1. Добавьте следующий / предыдущий элемент HTML на страницу, но скройте его с помощью CSS
  2. Определить высоту рассматриваемого элемента
  3. Если высота превышает размер порога, отобразите скрытый следующий / предыдущий

С Jquery (рамки чемпионов):

//assuming a height of 200 as the threshold
var THRESHOLD_HEIGHT = 200;
if ($("#segment").height() >= THRESHOLD_HEIGHT) {
   $("#links").show();
}
2 голосов
/ 31 января 2011

номер

Как вы можете узнать, насколько широким будет мой экран при посещении вашего сайта?

0 голосов
/ 31 января 2011

Возможно, вам лучше всего решить эту проблему с помощью javascript (или даже лучше библиотеки javascript, такой как jquery). Вы можете измерить высоту div, содержащего текст, который вы хотите разбить на страницы, динамически разбить его на части и добавить ссылки в браузер. Было бы несколько способов решения этой проблемы, но я бы, вероятно, сделал это, последовательно отсекая абзацы с конца, переиздавая и повторяя, пока она не стала достаточно короткой. Очевидно, что отрубленные абзацы нужно было бы где-то собрать, чтобы использовать для следующей страницы (и рекурсивно измерить снова, если вторая страница также была слишком длинной).

0 голосов
/ 31 января 2011

Посмотрите на YUI Paginator http://s831.us/hW6Dpd

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...