html5 - 拖动画布
我有一个巨大的 HTML5 Canvas,我希望它像谷歌地图一样工作:用户可以拖动它并且始终只能看到它的一小部分(屏幕大小)。它仅渲染您在屏幕上可以看到的部分。 我该怎么办?你有主意吗?
I have a huge HTML5 Canvas, and I want it to work like google maps: the user can drag it and see only a small part of it (the screen's size) all the time. it renders only the part you can see on the screen.
how can I do it? do you have an idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
2 个简单步骤:
div
容器中,并使用overflow:hidden
要遵循我的方法,您需要转到 jQuery UI 网站并下载任何版本的 jQuery UI(您可以创建一个自定义版本仅包含 UI 核心和可拖动交互对于本例。)
解压 .zip 文件并将“js”文件夹移动到页面目录。
将文件夹中包含的 .js 文件包含到您的页面中。
将以下代码放在
标签之间,以使画布可拖动:
这是一个示例:
希望这能让您继续前进。
注意:这只是一个基本示例。这仍然需要一些编辑。例如,用户可以将画布完全拖出视口(也许将画布限制在 div 上可以解决问题?)。但这应该是一个很好的起点。
2 simple steps:
div
container withoverflow:hidden
To follow my method you need to go to the jQuery UI website and download any version of the jQuery UI (you can create a custom version only consisting of the UI Core and Draggable Interaction for this example.)
Unpack the .zip file and move the 'js' folder to your page directory.
Inlcude the .js files contained in the folder into your page.
Place the following code between your
<head></head>
-tags to get your canvas draggable:Here's an example:
Hope this get's you going.
note: This is just a basic example. This will still need some editing. For example the user can drag the canvas totally out of the viewport (perhaps constraining the Canvas to the div may do the trick?). But this should be a good starting point.
我会用两块画布。将巨大的源画布隐藏起来,并将其部分复制到第二个较小的可见画布上。这是我快速破解的概念证明:
I would use two canvases. Keep your huge source canvas hidden and copy portions of it to a second smaller visible canvas. Here's my quickly hacked-up proof of concept: