Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь по учебе (https://javascript.ru/forum/misc/64784-pomoshh-po-uchebe.html)

Azamat94 05.09.2016 12:38

Помощь по учебе
 
Вложений: 1
Здравствуйте, задали в универе задание. Помогите пожалуйста на кону отчисление.
Задача:

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

Jquery использовать можно, готовые плагины для деревьев — нельзя. Тестовые данные использовать любые случайные.

Примерный вид на приложенном изображении. Визуально как на изображении не надо, просто что бы было понятно, где какая вложенность, и тп.Вложение 3275

laimas 05.09.2016 13:05

Цитата:

Сообщение от Azamat94
на кону отчисление

То есть данный предмет вообще не преподается, а вот задание кровь из носа но сделать?

Azamat94 05.09.2016 13:12

Преподают так себе, а на экзамене спрашивают как с умного. Да, задание надо срочно сделать

laimas 05.09.2016 13:18

Цитата:

Сообщение от Azamat94
Преподают так себе

Это не аргумент, здесь, на форуме не один, который самостоятельно изучил предмет, да как изучил, хоть шестерку ставь. От вас в первую очередь зависит будете ли вы знать или нет. Если оно не нужно, то хоть три декена посади, толку не будет.

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

DivMan 05.09.2016 13:38

на фрилансе за 100р, могут сделать. Я бы сделал, но я не умею. В принципе задание простое.

laimas 05.09.2016 13:43

DivMan,
если не знаете как, откуда познание, что данная работа стоит 100 руб.?

рони 05.09.2016 13:46

Цитата:

Сообщение от DivMan
за 100р,


destus 05.09.2016 13:48

Цитата:

на фрилансе за 100р, могут сделать.
:haha:

DivMan 05.09.2016 13:58

скучно было

laimas 05.09.2016 14:07

Цитата:

Сообщение от Rise
Странное задание

Да странного то ничего нет, только центральное тут Ajax, а дерево на сервере, это своя песня, а значит и решение должно быть клиент+сервер.

А отсюда, это откуда?

laimas 05.09.2016 14:13

Rise,
ну так дайте на статью ссылку, отвечает оно заданию или нет, но может куратор и пожалеет бедного студента. Но если куратор взял с интернета, значит учебе кода. )

DivMan 05.09.2016 14:29

Зачем отчислять, может он не будет работать программистом, а просто нужен диплом.
Что бы куда-нибудь устроиться

laimas 05.09.2016 14:33

Цитата:

Сообщение от DivMan
Зачем отчислять, может он не будет работать программистом, а просто нужен диплом

А зачем учится, проще тогда купить диплом.

Из анекдотов:

Мой друг учится на электрика, и судя по нему и его одногруппникам, после того, как они выпустятся, половину из них сразу убьет током, а другая половина оставит, как минимум, половину России без электричества. А я учусь в меде, так что тех, кого не убьет током сразу, убьют мои одногруппники.

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

destus 06.09.2016 05:17

Цитата:

Сообщение от laimas (Сообщение 427736)
Rise,
ну так дайте на статью ссылку

Вот вариант на чистом js http://javascript.ru/ui/tree Насчет сервера и бд лучше у автора уточнить, но мне кажется как-то сложно для либы. Скорее всего дело ограничивается каким-нибудь json файлом и поднятием простейшего сервера статики.

laimas 06.09.2016 08:13

Цитата:

Сообщение от destus
мне кажется как-то сложно для либы. Скорее всего дело ограничивается каким-нибудь json файлом

Читаем задание:

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

Если взять данные, уже готовые и в виде JSON отдать клиенту, то:

1) тем где Ajax должен работать придется писать пояснение, что "это ну типа тут Ajax"
2) как-то представить записи дерева, что уже так или иначе попытка описания хранения данных на сервере.

Если следовать букве задания, то:

Самое простое хранение дерева записей в базе, это ID+Prent. Записи первого уровня имеют parent равный 0, записи дочерние в качестве parent содержат id родителя.

Если выплюнуть данные клиенту в таком виде, тогда бы стояла задача построения дерева из данных, что было бы несколько иной задачей. Для облегчения построения его нужно было бы напрячь базу, если поступать традиционно - рекурсия (хотя вполне можно обойтись и без нее).

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

Клиенту только и остается в элемент списка вставлять вложенный список, если он еще не получен от сервера.

То есть, если знать как это организовано, то код сервера и клиента простой, жаждущему знаний это вполне по силам.


Часовой пояс GMT +3, время: 07:27.