Всем добрый день, надо реализовать перемещение мышкой фона блока (изображение) курсор - move. Каким способом можно сделать?
Нужно реализовать начало перемещения, само перемещение и окончание.
Для этого можно использовать события mousedown
, mousemove
и mouseup
.
Во время перемещения менять css фона соответственно перемещению курсора.
Пример:
const d = document.querySelector('.bg');
let state = 'off';
let initialMousePos, initialPos = {x: 0, y: 0};
d.addEventListener('mousedown', e => {
state = 'on';
initialMousePos = {x: e.clientX, y: e.clientY};
});
document.addEventListener('mouseup', e => {
if (state !== 'on') return;
state = 'off';
initialPos.x = initialPos.x + e.clientX - initialMousePos.x;
initialPos.y = initialPos.y + e.clientY - initialMousePos.y;
});
d.addEventListener('mousemove', e => {
if (state !== 'on') return;
d.style.backgroundPositionX = (initialPos.x + e.clientX - initialMousePos.x) + 'px';
d.style.backgroundPositionY = (initialPos.y + e.clientY - initialMousePos.y) + 'px';
});
.bg {
width: 100px;
height: 100px;
background-image: url(http://placekitten.com/200/300);
}
<div class=bg></div>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Цель: всплывающая подсказка, которая ходит за мышкойПодскажите, почему такая конструкция не работает:
Я делаю WYSIWYG редакторКогда нажимается кнопка я ищу выделенный текст и заменяю его на вместе с Bold например