Я пытаюсь сгладить производительность приложения карты, которое я создавал с помощью javascript. Первоначально я реализовал тащит сковороду с использованиемIE, сглаживающий панорамирование карты при перетаскивании
- OnMouseDown
- OnMouseMove
- OnMouseUp
Однако в IE он чувствует себя очень вяло и, кажется, что при перемещении курсора очень быстро карта Безразлично» t обновите позицию до тех пор, пока не перестанете двигаться.
я преобразовал свой код, чтобы использовать собственные события IE
- ondragstart
- ondrag
- ondragend
Спектакль был гораздо лучше при использовании этих событий, но, кажется, что я могу 'установите курсор мыши, используя стандартные свойства css. Я могу только установить курсор на несколько предопределенных, которые не то, что я хочу.
Так что мой вопрос. Как я могу либо сгладить перетаскивание в IE с помощью первого набора событий, либо как настроить пользовательский курсор, используя собственные события.
EDIT: Пример кода
Код очень простой. Даже когда я удаляю логику для загрузки новых фрагментов (т. Е. Только контейнер перемещается), он все еще чувствует себя неуклюжим. Ниже приведена функция панорамирования:
// the "this" object refers to the div containing all the tile layers.
function movemap(e)
{
e = e || window.event;
var dx = this.mouseX - e.clientX;
var dy = this.mouseY - e.clientY;
if (dx !== 0 || dy !== 0) {
this.style.left = parseInt(this.style.left) + dx + 'px';
this.style.top = parseInt(this.style.top) + dy + 'px';
this.mouseX = e.clientX;
this.mouseY = e.clientY;
}
}
Точный дубликат: http://stackoverflow.com/questions/2181482/ie-ondrag-event-setting-mouse-cursor-to-no-drop – jvenema
Я удалил свой старый вопрос, поскольку, по-моему, этот лучшее объяснение проблемы. Спасибо. – Alex