【发布时间】:2010-09-09 03:51:58
【问题描述】:
我正在寻找一些能够滚动图像的 JavaScript 插件(最好是 jQuery),就像 Google Maps 的工作方式一样。
我可以使图像可拖动,但即使父 div 是 overflow:hidden,我也会在拖动时看到整个图像。
任何帮助将不胜感激!
【问题讨论】:
标签: javascript jquery ajax
我正在寻找一些能够滚动图像的 JavaScript 插件(最好是 jQuery),就像 Google Maps 的工作方式一样。
我可以使图像可拖动,但即使父 div 是 overflow:hidden,我也会在拖动时看到整个图像。
任何帮助将不胜感激!
【问题讨论】:
标签: javascript jquery ajax
(我在这个现已死去的派对上迟到了,但是,嘿,我通过搜索找到了这个页面......)
mooware 建议的 Scrollview 插件对我不起作用。
但是 Dragscrollable 做到了: http://plugins.jquery.com/project/Dragscrollable
【讨论】:
我参加聚会可能有点晚了,但我只是在寻找同样的东西。我偶然发现的是 jquery 的 scrollview,它运行完美,并且完全可以像谷歌地图一样拖动到滚动溢出的 div。
【讨论】:
查看Google Maps Image Cutter 它可以拍摄任何图像或数码照片并将其切割成显示在谷歌地图上的图块。可能是完成您需要的快速方法...
【讨论】:
您可以使用 google maps api...它们允许您将其与自定义图像一起使用。您可以选择是否显示控件。
编辑:找到了一个关于如何做到这一点的不错的教程。 http://mapki.com/wiki/Add_Your_Own_Custom_Map
【讨论】:
有关底层技术的详细描述,请查看实用程序员书籍Pragmatic Ajax 的第 4 章(如果我没记错的话)。
您将了解图像切片和切块是如何在幕后工作的。以及缩放。
【讨论】:
这与 javascript 关系不大,而与 CSS coding 关系更大。
尝试仅使用 HTML 和 CSS 进行一些实验以正确剪辑图像,然后添加 javascript 以移动它。
如果你不能让它用 HTML 剪辑,或者用 javascript 移动,在这里发布最简单的问题演示供我们调试。
没有代码,我们在黑暗中拍摄。
【讨论】:
Google 地图使用分割成块的图像,这些图像会随着用户向不同方向平移而动态加载。 Google Maps Image Cutter Paul Dixon 提到的是您想要的工具。
如果您只想平移一张大图像,而不是将图像分割成块的额外复杂性,那么您应该使用clip 属性而不是使用 CSS 溢出属性。所有值得考虑的浏览器都支持这一点,如果我没记错的话,可以到 IE4。
需要注意的一点:CSS2.1 规范显示了用逗号分隔的 rect 值的示例。但是,IE6 不支持此功能(也许 IE7 也不支持)。但是,所有其他浏览器都可以理解不带逗号的版本。所以不是
clip: rect(5px, 40px, 45px, 5px);
你应该使用
clip: rect(5px 40px 45px 5px);
为了兼容性。
您需要在 元素周围将容器
因此,基本技术是在用户拖动时更新 top 和 left 值,将它们与定义的视图宽度和高度一起使用到图像上来创建适当的 rect() 字符串,并更新 top、left ,以及 元素的样式属性的剪辑属性。
不要做我所做的,在 rect() 字符串中的值后面省略“px”。我花了很长时间才意识到为什么它不起作用:-)
【讨论】: