gpt4 book ai didi

javascript - 在边界框内拖动和缩放图像

转载 作者:太空宇宙 更新时间:2023-11-04 14:38:04 25 4
gpt4 key购买 nike

我正在尝试在移动网络浏览器中复制图像上的捏合和拖动操作。我可以用 hammerjs 做到这一点,但我无法弄清楚如何将图像保存在边界容器中。例如,如果您放大得非常远,您应该能够平移但不能平移,以便在图像的左边缘和边界容器的左边缘之间留有空白空间。

Imgur 做得很好,但他们的代码不是开源的。他们是如何做到这一点的任何想法? http://m.imgur.com/gallery/LlJr8FA (放大图像并四处移动,它始终保持在包含状态)

最佳答案

试试这个:

HTML/CSS

<div id="my-mask" style="width: 200px; height: 200px; overflow: hidden;">
<img id="my-image" src="big-image.jpg" width="1000" height="1000"/>
</div>

jQuery/JavaScript

// Make sure it always starts @ zero position for below calcs to work
$("#my-image").css({top: 0, left: 0});

var maskWidth = $("#my-mask").width();
var maskHeight = $("#my-mask").height();
var imgPos = $("#my-image").offset();
var imgWidth = $("#my-image").width();
var imgHeight = $("#my-image").height();

var x1 = (imgPos.left + maskWidth) - imgWidth;
var y1 = (imgPos.top + maskHeight) - imgHeight;
var x2 = imgPos.left;
var y2 = imgPos.top;

$("#my-image").draggable({ containment: [x1,y1,x2,y2] });
$("#my-image").css({cursor: 'move'});

来源:Drag a zoomed image within a div clipping mask using jQuery draggable?这还有一些其他内容也可能对您有所帮助。

关于javascript - 在边界框内拖动和缩放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18579857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com