@n1ksON
мидл

Как реализовать функцию изменения высоты объекта при движении мыши?

Необходимо, чтобы при нажатии на объект срабатывала функция, так чтобы при опускании мыши на 1px вниз, высота объекта увеличивалась на 1px и с уменьшением аналогично.
$('.hr-edit').hover(function() {
        $('.hr-edit').mousedown(function(m) {
            let moveY = m.pageY + 1;  // подразумевал, что будет срабатывать как изменение координат. 
            let height = moveY + 290; // само изменение плюс изначальная высота объекта
            $('.first-el-header').css('height', height + 'px');
        });
    });

На данный момент, при нажатии на кнопку просто к высоте добавляется 290px.
Буду очень благодарен, если поможете реализовать данную функцию.
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
<div class="xxx">hello, world!!</div>
<div class="xxx">fuck the world</div>
<div class="xxx">fuck everything</div>

.xxx {
  padding: 10px;
  margin: 10px;
  border: 1px solid silver;
}

let el = null;

document.addEventListener('mousedown', e => el = e.target.closest('.xxx'));
document.addEventListener('mouseup', e => el = null);

document.addEventListener('mousemove', e => {
  if (el) {
    const height = parseInt(getComputedStyle(el).height);
    el.style.height = `${height + e.movementY}px`;
  }
});

https://jsfiddle.net/eu6s3b42/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы