Почему может не работать Drag'n'Drop с CSS?

Необходимо сделать, чтобы фигуры пользователь мог перемещать. Код JS работает, проверяла на другой странице. Видимо конфликт со стилями, не могу понять. Думала из-за анимации, но нет.

let ball = document.getElementById('ball');

ball.onmousedown = function(event) {

  let shiftX = event.clientX - ball.getBoundingClientRect().left;
  let shiftY = event.clientY - ball.getBoundingClientRect().top;

  ball.style.position = 'absolute';
  ball.style.zIndex = 1000;
  document.body.append(ball);

  moveAt(event.pageX, event.pageY);

  // переносит мяч на координаты (pageX, pageY),
  // дополнительно учитывая изначальный сдвиг относительно указателя мыши
  function moveAt(pageX, pageY) {
    ball.style.left = pageX - shiftX + 'px';
    ball.style.top = pageY - shiftY + 'px';
  }

  function onMouseMove(event) {
    moveAt(event.pageX, event.pageY);
  }

  // передвигаем мяч при событии mousemove
  document.addEventListener('mousemove', onMouseMove);

  // отпустить мяч, удалить ненужные обработчики
  ball.onmouseup = function() {
    document.removeEventListener('mousemove', onMouseMove);
    ball.onmouseup = null;
  };

};

ball.ondragstart = function() {
  return false;
};
.sale div {
  animation: saleTranslate 10s ease-in-out infinite;
  transform: translateZ(0);
  background-repeat: no-repeat;
  background-size: 30vw;
  position: absolute;
  width: 30vw;
  height: 30vw;
  background-size: 30vw;
}

.sale div:nth-child(1) {
  background-image: url(../img/sale/ellipse-red.svg);
  bottom: 8vw;
  left: 30vw;
}
<div class="sale">
  <div id="ball"></div>
  <div>Div-1</div>
  <div>Div-2</div>
  <div>Div-3</div>
  <div>Div-4</div>
  <div>Div-5</div>
  <div>Div-6</div>
  <div>Div-7</div>
  <div>Div-8</div>
  <div>Div-9</div>
  <div>Div-10</div>
  <div>Div-11</div>
</div>

Стили типовые, все указывать не стала


Ответы (0 шт):