0

我想知道是否可以从我单击的区域调整内容的大小,而不是左上角的默认调整大小。

例如这里是我的代码http://jsfiddle.net/2drYk/29/

var $cont = $('.container .content'),
    init_size = $cont.width()*0.1,
    ratio = $cont.width() / $cont.height(),
    c =0,
    s = [400,init_size];

$cont.height( init_size );

$cont.click(function(){   
    $(this).stop().animate({height: s[c%2], width: s[c%2] * ratio });
    c++;
});

如您所见,它从左上角到右下角调整大小,是否可以根据我单击的位置设置它开始调整大小的点?

4

1 回答 1

1

是的,当您调整大小时,以适当的比例移动图像,以便较大图像中的点与单击事件的位置是相同的相对点。本质上,这意味着根据比率将其移动到负顶部和左侧单击时图像放置的计算是:

New position = Mouse click event position-New size/Old Size*Mouse click event position 

这是一个jsfiddle示例

此示例使用相等的宽度/高度比,但您可以轻松地在它的基础上支持您需要的任何比例

于 2013-03-17T11:25:24.670 回答