使用案例
用户单击链接,将显示包含一个大图像的模态窗口,按比例缩小以适合此窗口。当用户向上或向下滚动鼠标滚轮时,图像会放大或缩小。图像在鼠标光标指向的任何位置进行缩放。
问题:
我无法将我的大脑包围在这样做的方法部分。
目前的运作方式:
单击链接时,jQuery插件会创建一个由CSS样式化的html元素的“查看器”集合。它是一个绝对定位的DIV,包含一个IMG元素。图像缩放到100%宽度。滚动时,每个滚动动作的图像增加5%。
因为图像在放大时放大,所以包含DIV(溢出:隐藏)最终会剪切图像。图像是可拖动的,因此您可以随时查看图像的所有部分。
我保留并知道的变量:
图像缩小比例。 图像的尺寸是我们最近的缩放操作之前的尺寸。 我们最近的缩放操作后图像的新尺寸。 这两个维度的差异。 图像的X和Y位置。 鼠标光标的X和Y位置,相对于定位的容器DIV。
我可能需要的东西:
我知道我需要的变量,我只是无法掌握它们的顺序以及使用什么操作符。数学从来都不是我的强项,也不是语法。所以任何帮助都表示赞赏。
完成研究:
我搜索了很多现有解决方案。大多数是OpenGL或Flash / ActionScript的实现,这些都对我没有任何意义。我发现的几个基于javascript的示例是出于商业目的,即使这样,他们的源代码也被混淆或缩小,我无法正确地提取这个小功能的内部工作原理。
另外,我可能也没有正确的搜索词来解决它。
答案 0 :(得分:5)
您可以尝试使用现有的jQuery插件,例如MapBox或GZoom:
或者你可以尝试自己动手。如果你这样做,你需要将三件作品放在一起: