通过结合一些 CSS 和 Jquery UI / draggable,我已经创建了一种可以平移图像并且使用一些额外的 JS 可以缩放图像的功能。
我遇到的问题是,如果你放大图像,图像的左上角会固定,这是你所期望的。但我希望图像基于当前平移保持中心位置,这样图像的中间部分就会在容器的中央保持不变而变得更大。
我已经为此编写了一些代码,但它没有起作用,我想我的数学可能有误。有人能帮忙吗?
我希望它能像 this 一样工作。当你滚动到一个图像时,它会基于当前平移使图像保持居中,而不是从角落缩小。
HTML:
我遇到的问题是,如果你放大图像,图像的左上角会固定,这是你所期望的。但我希望图像基于当前平移保持中心位置,这样图像的中间部分就会在容器的中央保持不变而变得更大。
我已经为此编写了一些代码,但它没有起作用,我想我的数学可能有误。有人能帮忙吗?
我希望它能像 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);
});