|
|
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть кусок кода на JS Код: plaintext 1. 2. 3. Все работает нормально, отображает указанный HTML на элементе DIV в нужном месте (DIV создается динамически, добавляется к document.body.appendChild() и у него style.position='absolute') при попытке заменить на таблицу Код: plaintext 1. 2. 3. Ничего не отрисовывает, но внизу страницы появляется какой-то невидимый блок Дальше стал пробовать использовать в innerHTML разные элементы. По одной части элементов отрабатывает нормально (SELECT, INPUT), а по другой добавляет какой-то невидимый блок в конец страницы. Мне нужно в DIV отобразить таблицу или список В чем тут дело? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 14:35 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
Не хочется тестировать или проверять, поэтому сделаю предположение по аналогии со вставкой таблицы средствами DOM: иерархия таблицы не table - > tr -> td, a table -> tbody -> tr -> td. Попробуй добавить tbody ... да и стиль применить не помешает - вдруг там белое по белому или размер шрифта никакой или отступы отрицательные ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 14:57 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
Сейчас я буду много ругаться (пип, пип, пип) все отрабатывает как надо, просто цвет текста совпал со цветом фона :) PS: Как можно побороть эффект увеличения высоты страницы при динамическом добавлении элемента DIV, т.е. при добавлении дива высота страницы чуть чуть увеличивается и появляется вертикальная линейка прокрутки, хотя див по размерам и расположению не выходит за границы начальной страницы. Это изменение высоты появляется даже когда див пустой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 15:29 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
Немного поразбирался выяснилось, что если страница имеет тэг <FORM>, то добавление дива в виде Код: plaintext не увеличивает общую высоту страницы, а использование Код: plaintext увеличивает, высоту. Но ведь не все страницы имеют тэг FORM, может есть какой-нибудь универсальный способ добавления свободнорасполагаемого дива к странице без увеличения высоты последней? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 16:14 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
Можно пользоваться стилем overflow:hidden у блочных контейнеров - очень действенная штука. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 16:36 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
А этот стиль применяется к вставляемому диву? или к странице? Стили страниц менять запрещено, т.к. это пишется, что-то типа компонента, который должен работать с любыми HTML-страницами, которые могут по разному быть оформлены и сделаны. Попробовал применить этот стиль к создаваемому диву -в результате все равно увеличивает высоту страницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 17:11 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
Конечно, к овнеру! Просто я ж не знаю, помещается твой див в другой контейнер или просто на страницу. Хотя можно также применять и к этому диву, тогда он не будет раздвигаться по высоте в засисмости от контента и будет соответствовать заданной высоте. Если страница все равно раздвигается, значит, его координата + высота превышает высоту страницы. Это раз. Второе - при добавлении дива прямо на страницу он помещается не перед контентом, а после него. Тогда надо играться с его положением (задавать абсолютное позиционирование относительно родителя с хотя бы позиционированием relative). Но решение может быть после появления соответствующей задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.06.2009, 19:15 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
У создаваемого DIV позиционирование абсолютное и его размеры фиксированы и занимаю порядка 20% общей площади экрана. Причем когда DIV выводится, то видно, что он сам не может выходить за границы экрана. И увеличение высоты страницы происходит на одинаковую высоту, независимо от высоты создаваемого DIVa. Пока проблему решил, беря на странице какой-нибудь элемент и добавляя DIV к его родителю через parentNode.appendChild(div). В этом случае высота страницы не увеличивается. Хотя мне это кажется как-то через Ж и не понимаю логику работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2009, 10:13 |
|
||
|
Какая-то тонкость при работе с innerHTML
|
|||
|---|---|---|---|
|
#18+
я у div обычно Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2009, 20:36 |
|
||
|
|

start [/forum/topic.php?fid=22&gotonew=1&tid=1454704]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
166ms |
get topic data: |
12ms |
get first new msg: |
6ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 526ms |

| 0 / 0 |
