Forum Webscript.Ru

Программирование => JavaScript & JScript => Тема начата: SteelRat от 28 Октября 2002, 22:15:55

Название: document.write (some) //проблема.
Отправлено: SteelRat от 28 Октября 2002, 22:15:55
Доброго времени суток:
Есть страница.
на ней подгружается некая lib.js
По событию onload вызов функции из lib.js:
addMenu_Item(\'Текстик\', \'http://test.org\', 1, 200);

Сама функция:

//Добавим хтмл код менюхи:
function addMenu_Item(text,url,sublink,width,height,bg,bga){
var num=oMenu.length; var str="";
str+=\'
\\n\';
str+=\'
\';
str+=text;
str+=\'
\'+\'
\\n\';
Make_Item(num,\'-100\',\'-100\',width,height,bg,bga,str);
return str;
}

Проблема в том, что document.write печатает str как бы в новом окне. Т.е. страница очищается и появляется только то, что есть в str. По идее оно ведь должно добавляться...
В чём дело?
Название: document.write (some) //проблема.
Отправлено: SteelRat от 28 Октября 2002, 22:18:49
Точнее:

function addMenu_Item(text,url,sublink,width,height,bg,bga){
var num=oMenu.length; var str="";
str+=\'
\\n\';
str+=\'
\';
str+=text;
str+=\'
\'+\'
\\n\';
document.write(str)
Make_Item(num,\'-100\',\'-100\',width,height,bg,bga,str);
return str;
}
Название: document.write (some) //проблема.
Отправлено: Макс от 28 Октября 2002, 23:06:07
Цитировать
Т.е. страница очищается и появляется только то, что есть в str. По идее оно ведь должно добавляться...
В чём дело?
Ну конечно, ты же пишешь в document
Создай какой-то слой и в него пиши (правда с межбраузерным DHTML замучаешся). Советую взять klayers или что-то похожее
В klayers это будет выглядеть примерно так:
layer("divMenu1"+num).write(str);
Название: document.write (some) //проблема.
Отправлено: SteelRat от 28 Октября 2002, 23:32:31
Я на основе dhtmlcentral пишу.
Кстати, кому нужен скрипт их окошек с комментариями на русском кое где и доводкой кода в паре мет, могу выслать.
Проблема решилась сама выносом точки вызова функции в другое место странички.
Название: document.write (some) //проблема.
Отправлено: SteelRat от 30 Октября 2002, 19:08:41
Так ведь чтобы слой создать, надо вписать в документ. Или я не прав?
Название: document.write (some) //проблема.
Отправлено: Макс от 31 Октября 2002, 03:15:32
прав, а в чем трабл?
Название: document.write (some) //проблема.
Отправлено: SteelRat от 31 Октября 2002, 15:35:14
А, так имеется ввиду заранее вписать в html слой и в него писать? Идеально то в чистую. Сейчас пытаюсь подвиг dhtmlcentral повторить.
В слой у меня чего-то не пишется, наверное из-за Mozilla бравзера. Будем пытаться...
А вписанные в него слои могут за его пределы выходить?
Название: document.write (some) //проблема.
Отправлено: Макс от 31 Октября 2002, 15:53:47
Цитировать
А вписанные в него слои могут за его пределы выходить?
вложенные слои? Вообще надо просто сделать скрипт и посмотреть. Но вообще у слоев есть поле overflow с помощью которого можно указать как слой должен поступать если его контент выходит за пределы слоя.

Цитировать
, так имеется ввиду заранее вписать в html слой и в него писать?
угу
Название: document.write (some) //проблема.
Отправлено: SteelRat от 31 Октября 2002, 17:30:28
Спасибо, я как раз так попробовал, но:

lib_writeIt = function(text){
if(bw.ns4){
TempData=this.ref;
this.ref.open();
this.ref.write(TempData+text);
        this.ref.close()
}else TempData=this.evnt.innerHTML; this.evnt.innerHTML=TempData+text;
}


В итоге - пишется только последний слой.(у меня цикл функции, так что пишется несколько раз...). Я неверно читаю текущее содержание?
Название: document.write (some) //проблема.
Отправлено: SteelRat от 31 Октября 2002, 17:35:38
PS: Слой выходит за пределы без вопросов.
Правда, я ограничения для темпового слоя не делал.
Название: document.write (some) //проблема.
Отправлено: mike от 31 Октября 2002, 18:11:16
Цитировать
Я неверно читаю текущее содержание?

[OFF]Пора объединять треды :)[/OFF]
Название: document.write (some) //проблема.
Отправлено: SteelRat от 31 Октября 2002, 18:34:59
Не,этот тред нормальный.
Это тот не туда немного пошёл. Правда, по моеё вине.
Там я пытаюсь капчернуть координаты события, на самом деле :-)
А тут вписать в слой :-)
Название: document.write (some) //проблема.
Отправлено: SteelRat от 31 Октября 2002, 19:20:39
Вообщем, я сделал а-ля dhtmlcentral.
Теперь проблема в том, чтоб закапчерить координаты события в NN6-7.
Всех приглашаю в http://forums.webscript.ru/showthread.php?s=&postid=59593#newpost :-)
.
А с дописыванием в слой... Я как-нить попозже....