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 に答える