Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Вопросик по JavaScript (http://forum.oszone.net/showthread.php?t=64119)

Drem 08-04-2006 23:42 426205

Вопросик по JavaScript
 
Например после какого-то события в ход идёт следующяя функция:

function somefun(){
document.write("Какойто текст")
}


Так вот скажите мне как сделать так что-бы "какойто текст" добавлялся к старому документу, а не создавал новый, и только тогда писал "какойто текст"???
Тот же форум дописывает ваше сообщение к более ранним.

Prisoner 09-04-2006 03:43 426234

1) Простой вариант - используя innerHTML
2) Более сложный - не используя innerHTML, а создавать элементы ручками
Теперь подробнее. Пусть у нас есть некий список блоков заключенный в некий контейнер с известным id (для форума это череда сообщений, к примеру, в div'е). Каждое сообщение со всей его инфой - блок вида "кусок html кода". Последний блок делаем как "кусок html кода" + "невидимый блок (div или span) с неким id". Тогда по событию мы в невидимый блок (его id мы знаем) вставляем по одному из двух вариантов нужный html код, меняем значение его id, а затем для материнского контейнера добавляем в конец списка его дочерних элементов блок в виде "невидимый блок (div или span) с неким id" для таких же последующих событий. Хм... достаточно запутано? :)

Drem 09-04-2006 12:05 426273

Ну нельзя сказать что уж сильно запутано, суть по-мойму я понял, теперь буду разбираться.
Спасибо за ответ.
Вот только я не понял что такое innerHTML :(

Prisoner 10-04-2006 09:58 426460

Ну это проще: есть к примеру некий слой - <div id="some_div"></div>. Тогда JS-код document.getElementById('some_div').innerHTML='It's some div with <i>HTML</i> code <b>inside</b>' поместит код в кавычка в этот слой, причем все теги внутри кавычек будут интерпретированы и применены к тексту. В общем innerHTML объекта это все, что есть между открывающим и закрывающим тегами. Чтение, запись. Очень удобно и просто. До относительно недавних пор этот метод держал только IE, сейчас вот даже моя любимая Опера научилась :).


Время: 12:39.

Время: 12:39.
© OSzone.net 2001-