Index of / tree

Кстати, на dhtml.ru Опубликовал статью из двух частей насчет того, как сделать дерево из обычной таблицы. Скрипт сделан на базе этого, но там нет проблем с vertPlace()... NN4 просто не поддерживается ;-)


Дерево. Такая навигация очень популярна, очень удобна и понятная практически всем пользователям. На многих сайтах использется та или иная разновидность деревьев, но хорошо работающего динамического дерево, я пока не встречал нигде... поэтому решил написать скрипт сам. Нельзя сказать, что это первое дерево, которое я делаю. С увереностью пишу, что это не последний. Просто, чтобы сделать чего-либо качественно нужно его делать и переделывать, пока сам не почувствуеш, что это не так и далеко от недостижимого идеала, который обычно находится у тебя в голове. Вот я и сделал первую версию.

Практически всегда во время написания скрипта встречаеш проблемы, о которых не мог и подумать. Например об отсутствии функций splice и push в MSIE (я преимущественно работаю с Netscape-ом). О медлительности выполнения практически любых циклах в IE я уже говорил когда писал про фильтере, поэтому решил обойти это слабое место и обрабатывать только видимых элементов (об этом мне писал и Valera Shybko). Работает нормально, но уже сейчас знаю что нужно улучшить ;-).

Принцип действия таков:

  1. Открывается/закрывается элемент
  2. Собираю в масив все видимые под-элементы
  3. Показываю/скрываю эти самые элементы
  4. Расставляю по высоте элементов куда нужно

Если кто-нибудь себе представляет лучшую схему действий, то напишите мне об этом. Я пока буду думать о том, как ускорить самые медленные шаги - (2) сбор в массив видимых под-элементов и (4) расставить все по местам. Насчет первого есть суперская функция visibleChildren(), но сегодня когда хвастался ею меня спросили "Ты что, никогда в жизни не писал рекурсивную функцию?"... да, никогда, даже если писал, то даже не догадывался, что она - "рекурсивная", и она все равно мне нравиться, а вот своего стаднартного vertPlace() я не люблю - очень тормозить, если нужно обработать больше 100 элементов... над ним и думаю.

Leechy

власть
народа
налогоплательщиков
нечестных
честных
только своим
бедным
еда
заключенным
уголовников
по полит.причинам
бедным