4

我有一个想法,在浏览器中为运动训练数据(速度、距离、心率等)实现一个深度缩放类型的界面。但是,我实际上想要放大的不是图像,而是信息层次结构。例如,初始显示将包含一个年份网格 - 例如,将鼠标悬停在 2008 年,然后旋转鼠标滚轮(或单击)将放大该年份,但在缩放期间我希望 2008 淡出并替换为日历个月。再次放大一个月,月份将替换为月份日历,放大一天,您最终会看到一个带有训练数据的图表。一直以来,只有具有实际数据的日期才会以某种方式突出显示。

我的问题是这是否可能,以及是否有人已经看过这样的例子。我想象大多数时候下一级信息可以缓存在浏览器中(事实上,因为这是基于日历的,我可以计算其中的大部分并缓存要突出显示的日期。)我也可以缩放在 Ajax 线程获取要显示的数据时放入一个空图表。

我以前从未尝试过这样的事情,我特别感兴趣的是 DHTML 是否能够进行这种缩放(我怀疑没有,我将不得不求助于 Silverlight)以及 Ajax 执行是否会在浏览器期间不间断渲染线程一直忙于缩放。

4

5 回答 5

5

对于 JavaScript/Ajax 中图像的 Deep Zoom,Microsoft Live Labs 提供了出色的Seadragon Ajax 库

如果您正在研究文本、视频和矢量等图像以外的内容的平滑和交互式缩放,请查看我在过去几个月开发的开源OpenZoom SDK 。

于 2009-06-18T18:51:25.830 回答
2

您可能无法使用 javascript/ajax 类型的界面实现非常平滑的缩放,但可以使用缩放界面。实用的 ajax 书有一章很好地介绍了实现 Google 地图克隆。该技术无需仅限于放大和缩小平铺图像。图像元素可以很容易地成为您想要的任何 HTML。可以将淡入淡出效果应用于缩放操作,因此当您上下移动图层时,您会得到与您描述的相似的效果。我建议抓住这本书(它是一本实用的程序员书籍,因此有一个便宜且可立即下载的 PDF 版本。阅读本章,思考这些技术,然后看看你是否认为它对你的愿景实用。祝你好运。

于 2009-05-12T19:06:34.777 回答
1

Seadragon Ajax 不断发展,现在是 OpenSeadragon:

http://openseadragon.github.io/

我还列出了各种缩放技术,其中许多使用 JavaScript:

https://github.com/iangilman/zooming

于 2013-05-14T17:56:31.760 回答
0

我不相信 ajax 或 dhtml 是您想要实现的目标的好解决方案。我认为 flash/flex 或 silverlight 可能是最好的选择。

于 2009-05-12T19:12:41.100 回答
0

查看 jQuery 中的“缩放”效果。这是一个链接。我自己没有使用它,但它可能能够做你想做的事。您必须在正确的位置将一些内容换成不同的内容,否则您的 html 会变得太大。

于 2009-05-12T19:39:50.027 回答