Логин:

Пароль:

Форумы
Общие вопросы
Document Object Model
Обсуждаем конференцию
Web Usability (test)

Document Object Model

рисуем дерево. рекурсия с большой глубиной вложенности

наткнулся я тут на неприятность.
При загрузке массива, кот. описывает дерево, у меня элементы
прописываются не в том порядке, в каком они должны быть выведены в таблице. Так и задумано было :-)
Я сначала вывожу всех нулевого уровня, затем всех первого и т.д.
Этого достаточно, чтобы соблюдалось условие "парент всегда перед чайлдом". Т.е. любому чайлду есть на кого сослаться при создании.

Затем я генерю строки таблиц с использованием рекурсии.
Принцип:
function DrawNode(id, tbl) {
.DrawOneNode(id, tbl);
.if (Nodes[id].children.length > 0) {
..var j = 0;
..for (j in Nodes[id].children) {
...DrawNode(Nodes[Nodes[id].children[j]].id, tbl);
..}
.}
}

Так вот. При глубине вложенности вплоть до 10 все работает.
Но дальше MSIE начинает странно ругаться.
говорит, что не определена переменная ie.
Чушь полнейшая. Определена она.
Не сталкивался ли кто с глюками в MSIE5 когда рекурсивный вызов функции имеет большую глубину вложенности?
СообщениеАвторДата
alien Serg27.07.2001 18:11