我正试图实现HTML5拖放与自定义拖动图像,它出现在光标后面。这可以用setDragImage来完成,并且可以很好地处理独立的图像,即用new Image创建的图像。
但是,为了提高页面加载速度,我想使用sprites和background-position技巧将这些图像合并成一个图像。
要实现在拖放功能的setDragImage中使用的sprites,可以将元素用作拖动图像的事实非常方便:创建一个<div>,设置它的大小、背景图像和位置,并将该div传递到setDragImage
但是,这些图像似乎必须在DOM中可见。当使用DOM元素调用setDragImage时,元素的“屏幕截图”看起来像是生成的,当元素隐藏或不属于DOM时,屏幕截图为空,因此在拖动时不会显示图像。
请看一下this fiddle。拖动两个文本divs可以很好地处理拖动图像。但是,在单击按钮以隐藏图像divs之后,拖动文本divs不会使拖动图像再显示出来。
我只需要在谷歌浏览器上运行这个程序。
当包含精灵作为背景图像的setDragImages在DOM中隐藏或不隐藏时,如何使用带有HTML5拖放(div)的精灵图像?或者,有没有另一种技巧使用带有setDragImage的sprite?

最佳答案

如果我是你,我会放下精灵,使用内联base64编码的图像。如果您只想提高页面加载速度并跳过请求开销,那么它应该可以正常工作,您的问题应该得到解决:)

07-24 09:38