Я пытаюсь реализовать перетаскивание HTML5 с помощью специального изображения перетаскивания, которое появляется за курсором.Это можно сделать с помощью setDragImage
и прекрасно работает с автономными изображениями, т. Е. Созданными с помощью new Image
.
. Однако, чтобы повысить скорость загрузки страницы, я хотел бы объединить эти изображения в одно изображение, используя спрайты.и трюк background-position
.
Для реализации спрайтов для использования в setDragImage
функциональных возможностей перетаскивания удобно использовать тот факт, что элементы можно использовать в качестве перетаскиваемого изображения: создайте <div>
,установите его размер, фоновое изображение и положение, и передайте это div
в setDragImage
.
Однако, похоже, что эти изображения должны быть видны в DOM.Похоже, что «снимок экрана» элемента создается, когда вы вызываете setDragImage
с элементом DOM, и когда элемент либо скрыт, либо не является частью DOM, снимок экрана становится пустым, и в результате изображение не отображаетсяпри перетаскивании.
Пожалуйста, посмотрите на эту скрипку .Перетаскивание двух текстовых div
s отлично работает с перетаскиваемым изображением.Однако после нажатия кнопки, чтобы скрыть изображение div
s, при перетаскивании текста div
s изображение перетаскивания больше не отображается.
Мне нужно, чтобы это работало только в Google Chrome.
Как я могу использовать изображения спрайтов с перетаскиванием HTML5 (setDragImage
), в то время как div
, содержащие спрайты в качестве фоновых изображений, скрыты или отсутствуют в DOM?Или есть другой метод использования спрайтов с setDragImage
?