38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
|
|||||||||||
1 | |||||||||||
Реализовать на JS перетаскивание мышью нескольких изображений01.02.2020, 13:52. Показов 10057. Ответов 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 | 2 | ||||||||||
Alborki, приведу простой пример ниже. Код полностью документирован, поэтому разобраться не составит труда. Основной принцип, который лежит в основе решения Вашей задачи, это вычисление абсолютного положения курсора мыши минус смещение курсора мыши относительно самого изображения.
1
|
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
|
|||||||||||
11.02.2020, 23:08 [ТС] | 3 | ||||||||||
Спасибо, но я немножко не это хотел увидеть. Нужен был ответ только на этот вопрос: "...Как передать картинкам найденные позиции top и left при условии, что ни будут у каждой картинки разные? Как каждой картинке передать именно ее изначальную позицию?..." , а не все решение .
Но, в любом случае, спасибо. Мне очень понравилось ваше решение и благодарю за быстрый отклик. И раз на то пошло, кому интересно, предлагаю мой вариант решения. Напоминаю, условие было, что все картинки изначально не спозиционированны (т.е. стилевое свойство positiion: absolute не задано в НTML/CSS-коде):
Добавлено через 2 часа 9 минут Но есть проблема в этом решении. Если резко дернуть мышкой с края картинки в сторону, будет ошибка в консоли и некорректно выполнится перетаскивание. Пока не могу понять в чем дело
0
|
38 / 14 / 4
Регистрация: 28.01.2020
Сообщений: 170
|
|||||||||||
19.02.2020, 13:24 [ТС] | 4 | ||||||||||
Доброго времени суток!
Вот, надеюсь, финальный вариант решения. Исправлены ошибки. Благодарю всех за внимание и участие!
1
|
19.02.2020, 13:24 | |
19.02.2020, 13:24 | |
Помогаю со студенческими работами здесь
4
Перетаскивание символа мышью Перетаскивание панели мышью в рантайме Перетаскивание объектов на форме мышью Перетаскивание мышью компонента pictureBox Перетаскивание мышью объекта Picturebox Перетаскивание линий на TCanvas, мышью Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |