В каком порядке заполнить участки кода, обозначенные ###? Вы работаете frontent-разработчиком. Вас попросили реализовать перемещение элемента по странице с помощью мыши. Чтобы элемент стал перемещаться, необходимо его захватить (навести курсор, нажать и
- Информационные технологии
Условие:
В каком порядке заполнить участки кода, обозначенные \#\#\#?
Вы работаете frontent-разработчиком. Вас попросили реализовать перемещение элемента по странице с помощью мыши. Чтобы элемент стал перемещаться, необходимо его захватить (навести курсор, нажать и удерживать в течение 500 мс). Затем передвинуть курсор в нужное место (элемент должен перемещаться вместе с курсором) и отпустить кнопку мыши, чтобы элемент зафиксировался в новой позиции. Элемент спозиционирован абсолютно, поэтому перемещать его нужно с помощью css-свойств top и left. Вам предоставлен код решения с пропущенными фрагментами. Необходимо заполнить кодом участки, которые обозначены \#\#\#.
const elem = document.querySelector('.elem')
let state = 'dropped'
const computedStyle = window.getComputedStyle(elem)
let x = +computedStyle.getPropertyValue('left').replace('px', '')
let y = +computedStyle.getPropertyValue('top').replace('px', '')
let prevX, prevY, timer
const move = (currX, currY) => {
###
prevX = currX
prevY = currY
###
}
const onMouseDown = (e) => {
if (state === 'dropped') {
timer = setTimeout(0) => {
state = 'draggging'
elem.classList.add('dragging')
}, 500)
Решение:
Давайте разберем, что необходимо заполнить в пропущенных участках кода, обозначенных ###. 1. В функции move мы должны обновить позицию элемента на странице, используя значения currX и currY. Для этого нам нужно установить свойства top и left элемента elem. Поскольку x и y уже содержат текущие координаты, мы можем просто обновить их, добавив разницу между текущими координатами и предыдущими. 2. В функции onMouseDown мы должны добавить обработчики событий для перемещения мыши и отпускания кнопки мыши. Когда мышь перемещается, мы должны вызывать функцию move, чтобы обновить позицию элемента. Ко...
Теперь у нас есть заполненные участки кода. В функции мы обновляем координаты элемента, а в функции добавляем обработчики событий для перемещения и отпускания мыши.Похожие задачи
Не нашел нужную задачу?
Воспользуйся поиском
Выбери предмет
- Правоохранительные органы
- Пожарная безопасность
- Парикмахерское искусство
- Природообустройство и водопользование
- Почвоведение
- Приборостроение и оптотехника
- Промышленный маркетинг и менеджмент
- Производственный маркетинг и менеджмент
- Процессы и аппараты
- Программирование
- Право и юриспруденция
- Психология
- Политология
- Педагогика
- Трудовое право
- Теория государства и права (ТГП)
- Таможенное право
- Теория игр
- Текстильная промышленность
- Теория вероятностей
- Теоретическая механика
- Теория управления
- Технология продовольственных продуктов и товаров
- Технологические машины и оборудование
- Теплоэнергетика и теплотехника
- Туризм
- Товароведение
- Таможенное дело
- Торговое дело
- Теория машин и механизмов
- Транспортные средства