|
|
|
| Я создала гостевую книгу, которая лежит на картинке (состоящей из кусочков, соединенных таблицей), мне надо сделать так, чтобы с помощью подсчета кол-ва строк я могла рассчитвать, сколько сообщений будет на одной странице.
Иначе, если сообщений больше, чем картинка, то все начинает плыть само-собой. мне надо уместиться в конкретный размер.
помогите мне это воплотить, ато я только 3 дня с php и еще одну ночь... =) | |
|
|
|
|
|
|
|
для: Shy_n
(15.10.2005 в 07:53)
| | Я правда не совсем понял что ты хочеш сделать...
Т.е. тебе все надо разбить на страницы чтобы на одной странице умещалось определенное кол-во строк?
Было бы проще если бы ты дала взглануть на код... | |
|
|
|
|
|
|
|
для: Shy_n
(15.10.2005 в 07:53)
| | Хм... а картинки нельзя растянуть по вертикали под собщения? Т.е. сделать "резиновый" дизайн? Дело в том, что шрифт и его размер выбирает браузер и в разных браузерах в разных системах результат может не совпадать... А вытащить параметры шрифтов нельзя так как они находятся на клиентской машине, а PHP на сервере. | |
|
|
|
|
|
|
|
для: cheops
(15.10.2005 в 13:47)
| | ну тогда подскажите, как сделать дизайн резиноавым?? | |
|
|
|
|
|
|
|
для: Shy_n
(16.10.2005 в 01:09)
| |
<body background="Фоновое изображение" bgproperties=fixed>
|
Фон не будет прокручиваться.
З.Ы. Если нужно то о чем я думаю :) | |
|
|
|
|
|
|
|
для: Shy_n
(15.10.2005 в 07:53)
| | Здесь надо довольно сложную интерактивную систему с использованием JS, которая будет работать не во всех браузерах. И аналогов не видел по причине сложности и нобязательности. Проще что-то с подложкой сделать (редизвайн), чем писать подсчёт строк. Хотя, когда он будет написан, думаю, работать будет прилично.
Итак, для решения поставленной задачи нужно взаимодействие JS и PHP. Порядок действий:
1) сервер шлёт сообщения с запасом, примерно оценивая объём по количеству символов. Выводит в невидимый слой поначалу.
2) TextRange (=tRang) создаётся с охватом всех сообщений и измеряется их высота (tRang.boundingHeight). Крутится цикл по откусыванию сообщений по одному (как сделать? если по символу и слову (tRang.moveEnd('character', -1) ) , то долго может работать, но может и сойдёт, чем делать сложнее).
3) когда высота станет меньше или равна высоте картинки, лишние сообщения удаляются (innerHTML), а в ссылку "Следующая страница" пишется номер первого удалённого.
4) слой делается видимым.
Возможен вариант, что выбранного числа символов сразу не хватит на высоту картинки. Он будет работать в общем алгоритме - не хватит, значит выведется всё то, что принято.
Возможен вариант, что первое сообщение будет длиннее картинки. Отбрасывать его нет смысла, иначе выведется 0 сообщений. Нужно рассмотреть вид вывода части сообщения (кнопка "Далее").
Вот во что выливается желание сделать фиксированную высоту страницы с учётом клиентских шрифтов. Это правильно, так надо бы делать всегда, где надо избавиться от прокрутки страницы для повышения комфортности чтения, так что это задача важная. Тем не менее, никто не делает. | |
|
|
|
|
|
|
|
для: 12345
(16.10.2005 в 15:15)
| | Что-то имхо вы тут занимаетесь удалением гланд через задницу... Меняйте дизайн на более "резиновый" ! | |
|
|
|
|
|
|
|
для: DDK
(16.10.2005 в 16:13)
| | > Что-то имхо вы тут занимаетесь удалением гланд через задницу... Меняйте дизайн на более "резиновый" !
Вот все так думают, поэтому до сих пор такого не сделано ;) | |
|
|
|