Forum Webscript.Ru
		Программирование => JavaScript & JScript => Тема начата: 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\';
	Make_Item(num,\'-100\',\'-100\',width,height,bg,bga,str);
	return str;
}
Проблема в том, что document.write печатает str как бы в новом окне. Т.е. страница очищается и появляется только то, что есть в str. По идее оно ведь должно добавляться...
В чём дело?
			 
			
			- 
				Точнее:
function addMenu_Item(text,url,sublink,width,height,bg,bga){
	var num=oMenu.length; var str="";
	str+=\'\\n\';
	document.write(str)
	Make_Item(num,\'-100\',\'-100\',width,height,bg,bga,str);
	return str;
}
			 
			
			- 
				
Т.е. страница очищается и появляется только то, что есть в str. По идее оно ведь должно добавляться...
В чём дело?
 Ну конечно, ты же пишешь в document
Создай какой-то слой и в него пиши (правда с межбраузерным DHTML замучаешся). Советую взять klayers или что-то похожее
В klayers это будет выглядеть примерно так:
layer("divMenu1"+num).write(str);
			 
			
			- 
				Я на основе dhtmlcentral пишу.
Кстати, кому нужен скрипт их окошек с комментариями на русском кое где и доводкой кода в паре мет, могу выслать.
Проблема решилась сама выносом точки вызова функции в другое место странички.
			 
			
			- 
				Так ведь чтобы слой создать, надо вписать  в документ. Или я не прав?
			
 
			
			- 
				прав, а в чем трабл?
			
 
			
			- 
				 А, так имеется ввиду заранее вписать в html слой и в него писать? Идеально то в чистую. Сейчас пытаюсь подвиг dhtmlcentral повторить.
В слой у меня чего-то не пишется, наверное из-за Mozilla бравзера. Будем пытаться...
А вписанные в него слои могут за его пределы выходить?
			 
			
			- 
				
А вписанные в него слои могут за его пределы выходить?
 вложенные слои? Вообще надо просто сделать скрипт и посмотреть. Но вообще у слоев есть поле overflow с помощью которого можно указать как слой должен поступать если его контент выходит за пределы слоя.
, так имеется ввиду заранее вписать в html слой и в него писать? 
 угу
			 
			
			- 
				Спасибо, я как раз так попробовал, но:
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;
}
В итоге - пишется только последний слой.(у меня цикл функции, так что пишется несколько раз...). Я неверно читаю текущее содержание?
			 
			
			- 
				PS: Слой выходит за пределы без вопросов.
Правда, я ограничения для темпового слоя не делал.
			 
			
			- 
				
Я неверно читаю текущее содержание?
[OFF]Пора объединять треды :)[/OFF]
			 
			
			- 
				Не,этот тред нормальный.
Это тот не туда немного пошёл. Правда, по моеё вине.
Там я пытаюсь капчернуть координаты события, на самом деле :-)
А тут вписать в слой :-)
			 
			
			- 
				Вообщем, я сделал а-ля dhtmlcentral.
Теперь проблема в том, чтоб закапчерить координаты события в NN6-7.
Всех приглашаю в http://forums.webscript.ru/showthread.php?s=&postid=59593#newpost :-)
.
А с дописыванием в слой... Я как-нить попозже....