4

問題:

Jquery-ui-resizable は、回転したオブジェクトに対して正しく機能しないようです。要素を回転させた後、ハンドルは回転していない要素に対して行うのと同じことを行います。

アイデア:

軸はおそらく回転行列 ( http://en.wikipedia.org/wiki/Rotation_matrix )に従って回転できます。で更新されたマウス座標を取得できると思いx' = x*cos(a) -y*sin(a); y' = x*sin(a) + y*cos(a)ます。

同様のソリューション(パッチ、またはサイズ変更用のスタンドアロンのjqueryプラグイン)を見た人はいますか?jquery.ui.resizable のメソッド_mouseStartとメソッドを書き直す場合、誰かアドバイスをいただけますか?_mouseDrag

4

2 に答える 2

3

これは、 Andy Zeeの作業に基づいて私が開発したパッチです。

JSFiddle

基本的に、角度に基づいてdx、dyを変更します

ndx = dx * Math.cos(angle_rad) + dy * Math.sin(angle_rad);
ndy = dy * Math.cos(angle_rad) - dx * Math.sin(angle_rad);

また、ハンドルの動作を変更し、回転した要素のサイズ変更によって発生する位置補正を行います (ここに投稿) 。

于 2014-09-25T10:44:39.477 に答える