1. Главная
  2. Библиотека
  3. Информационные технологии
  4. В каком порядке заполнить участки кода, обозначенные ##...
Решение задачи

В каком порядке заполнить участки кода, обозначенные ###? Вы работаете 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, чтобы обновить позицию элемента. Ко...

Теперь у нас есть заполненные участки кода. В функции мы обновляем координаты элемента, а в функции добавляем обработчики событий для перемещения и отпускания мыши.

Не нашел нужную задачу?

Воспользуйся поиском

Выбери предмет