|
|
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Создаю своё дерево элементов с помощью вот этого кода: Код: html 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Также CSS: Код: css 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. Почти всё хорошо, но вместо того, чтобы получить две папки одну под другой в дереве, получаю то, что подпункты одной папки накладываются на другую: В чём ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 16:16 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
попробуйте Код: css 1. 2. 3. заменить например на Код: css 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 16:47 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
xPhoenix, Это вроде jquery, в которой я полный ноль. Но известно заранее что там где дерево - там лучше всего подходит рекурсия. Поскольку у вас функция безымянная, этого достаточно чтобы понять - рекурсии нет. Кроме того я не понял откуда берутся данные. Функция сама их сооружает в процессе сооружения? Я бы предложил сперва описать дерево, а потом натравить на него функцию выращивания. Тогда вы можете легко менять вид редактируя описание. http://www.sitepoint.com/xml-data-traversal/ Описание под строкой Consider the following XML file: муть загрузки xml можно пропустить, поскольку вы можете прямо в скрипте все описать Рекурсия выращивания дерева под строкой Now, let’s take a look at the function that does the XML data traversal, traverse(): ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 17:56 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
Нет, тут похоже вообще ничего не создается, а только заселяется уже построенное. Кстати, можно без рекурсии если описать дерево плоской таблицей. Что не очень наглядно, зато проще чем xml. folder - level Папка1 - 1 Папка2 - 1 Папка3 - 2 Папка4 - 2 Папка5 - 3 и так далее Что значит Папка1 в корне но пустая, Папка2 в корне и внутри у нее Папка3 и Папка4. Папка4 содержит Папка5 и так далее. Чтобы добавить папку в Папка1 надо под ней вписать Папка6 - 2. Функция на php из класса NestedSet * @author Mark Stuppacher <mark@happynet.at> без рекурсии, прикольно сделано: Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. Переписать на яву как два пальца. Функция работает на ошибке. Попустит ли js я не знаю. Такого элемента массива $tree[$i+1] - естественно может не оказаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 18:22 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
Да, забыл отметить что функция как раз заточена под описание дерева как в предыдущем сообщение - папка - уровень ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.07.2013, 18:23 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
Спасибо, почитал Ваши ответы. Ошибка крылась, как правильно заметил Паганель, именно в CSS - нельзя явно задавать высоту элементов <li>. Когда я убрал эту строку, элементы перестали накладываться друг на друга и стали отображаться нормально. Сейчас сделал так, что при нажатии на папку открываются дочерние элементы. Правда, сейчас при щелчке на "офис" папка закрывается. Как-то не так расставил обработчики, но скоро уже сделаю. Если интересно, как, просто продолжайте читать эту тему. Правильный (на 9 утра 25.07.13) код JavaScript для собирания дерева вот: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. Кроме того, картинка, если интересно, что получилось: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 09:23 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
откройте для себя http://api.jquery.com/jQuery.each/ ато больно смотреть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 09:34 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
вернее http://api.jquery.com/each/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 09:35 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
Паганель, по-русски и очень доступно об этой функции написано здесь . С учётом этого мой код стал ещё лучше и выглядит теперь так: Код: javascript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.07.2013, 10:59 |
|
||
|
JQuery. Неправильно строит список
|
|||
|---|---|---|---|
|
#18+
В результате долгих поисков забил на самостоятельное создание плагина и пользуюсь вот этим . Надеюсь, кому-нибудь эта информация будет полезна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.09.2013, 10:37 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=38343201&tid=1447900]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
165ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 217ms |
| total: | 488ms |

| 0 / 0 |
