【发布时间】:2011-09-10 07:40:13
【问题描述】:
通过结合一些 CSS 和 Jquery UI / 可拖动,我创建了平移图像的功能,并且使用一些额外的 JS,您现在可以缩放图像。
我遇到的问题是,如果您放大图像的左上角是固定的,正如您所期望的那样。我想要的是图像保持在中心(基于当前的平移),以便图像的中间保持在容器的中间,同时变大。
我为此编写了一些代码,但不起作用,我想我的数学是错误的。有人可以帮忙吗?
我希望它像this 那样工作。当您滚动到图像时,它会根据当前平移保持图像居中,而不是从角落缩小。
HTML:
<div id="creator_container" style="position: relative; width: 300px; height: 400px; overflow: hidden;">
<img src="/images/test.gif" class="user_image" width="300" style="cursor: move; position: absolute; left: 0; top: 0;">
</div>
Javascript:
$("#_popup_creator .user_image").bind('mousewheel', function(event, delta) {
zoomPercentage += delta;
$(this).css('width',zoomPercentage+'%');
$(this).css('height',zoomPercentage+'%');
var widthOffset = (($(this).width() - $(this).parent().width()) / 2);
$(this).css('left', $(this).position().left - widthOffset);
});
【问题讨论】:
-
请也分享您的 HTML
-
jsfiddle.net/niklasvh/SxLSY 它什么也没做?
-
您能分享一下您是如何进行平移的吗?它可以向各个方向平移吗?
标签: javascript jquery image jquery-ui zooming