|
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
|
|||||||||||
Реализовать на JS перетаскивание мышью нескольких изображений01.02.2020, 13:52. Показов 10500. Ответов 3
Добрый день!
Есть задание: "Реализовать на JavaScript перетаскивание мышью по веб-странице нескольких любых (но не мелких) изображений. Обрабатывать как минимум события mousedown, mousemove, mouseup. Изображения должны «таскаться» мышью за любую точку (т.е. и при «взятии» и при «отпускании» изображение смещаться не должно, оно должно смещаться только при смещении мыши при нажатой левой кнопке, ровно настолько, насколько смещена мышь). Код не должен зависеть от количества картинок (т.е. код должен сам найти все картинки, находящиеся в указанном div-контейнере)..... Количество картинок изначально может быть любое и они по умолчанию не спозиционированны (стилевое свойство positiion не задано)." По моему пониманию сначала нужно найти изначальные координаты этих картинок, после задать им эти координаты и задать им position: absolute, а дальше реализовывать перетаскивание. Начало кода я написал, но у меня вопрос: Как передать картинкам найденные позиции top и left при условии что ни будут у каждой картинки разные? Как каждой картинке передать именно ее изначальную позицию? Нужен только ответ на этот вопрос. Все решение не нужно.
0
|
|||||||||||
| 01.02.2020, 13:52 | |
|
Ответы с готовыми решениями:
3
Реализовать перетаскивание мышью элементов из одного списка в другой и обратно
Перетаскивание блоков мышью |
|
19 / 14 / 5
Регистрация: 12.01.2020
Сообщений: 38
|
|||||||||||
| 05.02.2020, 12:29 | |||||||||||
|
Alborki, приведу простой пример ниже. Код полностью документирован, поэтому разобраться не составит труда. Основной принцип, который лежит в основе решения Вашей задачи, это вычисление абсолютного положения курсора мыши минус смещение курсора мыши относительно самого изображения.
1
|
|||||||||||
|
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
|
|||||||||||
| 11.02.2020, 23:08 [ТС] | |||||||||||
|
Спасибо, но я немножко не это хотел увидеть. Нужен был ответ только на этот вопрос: "...Как передать картинкам найденные позиции top и left при условии, что ни будут у каждой картинки разные? Как каждой картинке передать именно ее изначальную позицию?..." , а не все решение
.Но, в любом случае, спасибо. Мне очень понравилось ваше решение и благодарю за быстрый отклик. И раз на то пошло, кому интересно, предлагаю мой вариант решения. Напоминаю, условие было, что все картинки изначально не спозиционированны (т.е. стилевое свойство positiion: absolute не задано в НTML/CSS-коде):
Добавлено через 2 часа 9 минут Но есть проблема в этом решении. Если резко дернуть мышкой с края картинки в сторону, будет ошибка в консоли и некорректно выполнится перетаскивание. Пока не могу понять в чем дело
0
|
|||||||||||
|
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
|
|||||||||||
| 19.02.2020, 13:24 [ТС] | |||||||||||
|
Доброго времени суток!
Вот, надеюсь, финальный вариант решения. Исправлены ошибки. Благодарю всех за внимание и участие!
1
|
|||||||||||
| 19.02.2020, 13:24 | |
|
Помогаю со студенческими работами здесь
4
Перетаскивание символа мышью
Перетаскивание объектов на форме мышью
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|