Почему мой код JavaScript для перетаскивания элемента HTML искажает его на более высоких скоростях перетаскивания?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Почему мой код JavaScript для перетаскивания элемента HTML искажает его на более высоких скоростях перетаскивания?

Сообщение Anonymous »

Я построил небольшой прототип для элемента пользовательского интерфейса с функцией сопротивления, и он работает, но перетаскивание со средней+ скоростью приводит к тому, что перетащенный элемент становится довольно заметно искаженным вдоль оси сопротивления. При медленном перетаскивании этого не происходит. Кто -нибудь знает, почему это происходит здесь, и если возможно это предотвратить? Или у кого -нибудь нет этой проблемы, может быть? Я попробовал Googling, но я не смог произвести подсказку, которая дала бы мне ответ. : //jsbin.com/lovoqulewa/2/edit? html, css, js, консоль, вывод
Красный дивинг можно перетаскивать в синий div, нажав, а затем перетаскивая мышь без отпускания, как общие элементы перетаскивания. /p>

Код: Выделить всё

function slide(e) {
movy.style.left = Math.max(0,Math.min((e.clientX-offset[0]), (bounds[2]-cSize[0])))+'px';
movy.style.top = Math.max(0,Math.min((e.clientY-offset[1]), (bounds[3]-cSize[1])))+'px';
}
< /code>
slide(e)
вызывается из OnmouseMove. Является ли настройка слева / верхняя часть события движения мыши является проблемой для рендеринга? Я также попытался обернуть его в requestAnimationFrame () , как следует, но это не помогло.

Код: Выделить всё

function slide(e) {
requestAnimationFrame(function() {
movy.style.left = Math.max(0,Math.min((e.clientX-offset[0]), (bounds[2]-cSize[0])))+'px';
movy.style.top = Math.max(0,Math.min((e.clientY-offset[1]), (bounds[3]-cSize[1])))+'px';
});
}
< /code>
I'm not familiar with the inner workings of requestAnimationFrame
вообще, я просто знаю, что это иногда помогает с аналогичными эффектами при выполнении анимации Canvas.

Подробнее здесь: https://stackoverflow.com/questions/794 ... -higher-dr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»