![]() |
Модераторы: Sardar, Aliance |
![]() ![]() ![]() |
|
artuska |
|
||||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 5.5.2007 Репутация: нет Всего: нет |
Вот собственно сам скрипт, а вот его демо.
Есть там такая функция — getNodeOrders (файл — js/drag-drop-folder-tree.js, строки — 528-560):
Эта функция парсит наше дерево (ну, все элементы <li>) и возвращает строку с айдишками и парэнт_айдишками, разделенную запятыми. Например, у меня такая структура дерева (для нагладности в скобках указываю айдишки):
Функция getNodeOrders возвратит мне следующую строку, исходя из моей структуры дерева:
Вот. А теперь задача — пронумировать каждую строчку в возвращаемой строке. Типа этого, чтобы возвращалась примерно такая строка:
На первый взгляд элементарно — создать переменную, которую потом внутри цикла while() будем инкрементировать. Типа так:
Но не тут-то было — у нас там рекурсия. И когда эта рекурсия исполняется, то эта инкремент-переменная теряется:
Что делать? Куда этот num++; всунуть, чтобы он корректно нумеровал мне строки? ЗЫ. Нет, я не забываю указывать переменную num в параметрах функции (function(initObj, saveString, num)). |
||||||||||||
|
|||||||||||||
ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 38 Всего: 386 |
Ну, выводи этот num за пределы видимости этой рекурсивной функции.
как нибудь так:
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! ![]() |
|||
|
||||
artuska |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 68 Регистрация: 5.5.2007 Репутация: нет Всего: нет |
Аааааа! Ура! Сделал как ты сказал — работает!
Только обьявил переменную чуток по-другому — this.num = 0; Уф, спасибо, а-то я на официалном форуме задал этот же вопрос, но там никто до сих пор не ответил, хотя тема просмотрена несколькими десятками пользователей. Огромное человеческое спасибо, выручил! Так как именно из-за этой, вроде мелочи, дальше двигаться не могу... (помечаю тему как решенную) |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | JavaScript: Применение библиотек | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |