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 :-)
.
А с дописыванием в слой... Я как-нить попозже....