рисуем дерево. рекурсия с большой глубиной вложенности> наткнулся я тут на неприятность. > При загрузке массива, кот. описывает дерево, у меня элементы > прописываются не в том порядке, в каком они должны быть выведены в таблице. Так и задумано было :-) > Я сначала вывожу всех нулевого уровня, затем всех первого и т.д. > Этого достаточно, чтобы соблюдалось условие "парент всегда перед чайлдом". Т.е. любому чайлду есть на кого сослаться при создании. > > Затем я генерю строки таблиц с использованием рекурсии. > Принцип: > 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 когда рекурсивный вызов функции имеет большую глубину вложенности? |