Показать сообщение отдельно
  #3 (permalink)  
Старый 16.01.2023, 23:59
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,704

Анимацию надо делать через requestAnimationFrame, а не через setInterval.

$(".dragscroll div.item.move").each(async function () {

Что у вас асинхронного в этой функции?

И я бы отказался от jquery. Он способствует неэффективному коду. Каждый раз писать $(this) вроде не трудно. Но это вызов функции. Каждый раз. Которая возвращает один и тот же результат. Зачем?
Почему не вызвать один раз и запомнить в переменную?
А еще эффективнее делать на чистом js.
Неужели
$(this).css("left")

сильно проще писать, чем
this.style.left

?
А
style = { "left": left + randomw + "px" };
            $(this).css(style);
            style = { "top": top + randomh + "px" };
            $(this).css(style);

лучше, чем
this.style.left = `${left+rendomw}px`;
this.style.top = `${top+rendomh}px`;


И работает быстрее, что не маловажно при анимации, особенно, когда будете считать геометрию.
Ответить с цитированием