Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Список из 40 элементов div c текстом . При нажатии и удержании 2 секунды на div, элемент становиться активным (обводиться рамкой) – его можно перемещать (ставить на другое место в списке, удалять, восстанавливать). При перемещении элемент «выталкивает» соседние элементы. При свайпе вправо или влево (удалении или восстановлении) элементы становятся на место удаленного.

При кратковременном нажатии элемент становиться редактируемым (contenteditable) и растягивается во весь экран (анимировано), снизу экрана кнопки «Отмена» и «Сохранить» - сохранение изменений в тексте или отмена. При нажатии на одну из кнопок элемент сворачивается (анимировано).

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

При свайпе вправо или влево элемент удаляется, с возможностью отмены (появляется кнопка «отменить», исчезает при касании экрана вне кнопки). При отмене элемент становиться на прежнее место.

Свайпы должны быть легкими, короткими, не вызывающим неудобство.

При удалении элементы сохраняются с помощью local storage. Эти элементы можно увидеть (Нажатием на кнопку «Архив») и удалить окончательно. Представление в архиве аналогичное, только без вертикального перемещения и редактирования. Соответственно при свайпе вправо элементы удаляются окончательно, если не нажали «Отмена». Также есть возможность восстановить элементы – свайпом влево, также с отменой. При восстановлении элемент становиться в конец списка.

При свайпе элемент всегда перемещается вместе с пальцем. При медленном скроле элементы не должны становиться активными (когда удерживаем палец и скролим). Свайпы можно делать только с активными элементами.

Анимация перемещения элементов плавная, без рывков.

Приложение адаптивно к ширине экрана телефонов.

Весь js код (каждый оператор) должен быть прокомментирован.

Работа на android (браузер) от 4.0

Допустимо использование Jquery и др. библиотек

Оплата после теста лично, при встрече в Москве или через Яндекс деньги/ Webmoney(r-кошелек) / Сбербанк.

9 лет назад
Chernoffn
Николай 
38 летРоссия
11 лет в сервисе
Был
2 года назад