これについてさらに調査した後、私は問題を理解していると思います。
Raphael でパスを描画すると、キャンバス上の設定された位置になり、回転を実行すると、その設定された位置の上に適用された変換になります。ホバー イベントがトリガーされ、スケール変換が適用されます。これにより、以前の変換がクリアされます。これが、オブジェクトが元の場所に戻る理由です。
私が思いついた解決策は、ホバーアニメーションを実行するときに、現在適用されている回転も実行する必要があり、回転するときにスケーリングがリセットされていることを確認する必要があるということです。また、回転中にブロックにカーソルを合わせると奇妙なアニメーションが発生し、回転中はホバーを無効にする必要がある場合があることにも気付きました。
更新されたコードについては、jsFiddle リンクhttp://jsfiddle.net/ginja/5yp7D/を参照してください。変更の概要を以下に示します...
回転:
blocks.animate({ transform: "r" + stadRotate + " " + stadCX + " " + stadCY + "s1" }, 1000);
マウスオーバー:
this.animate({ fill: "#5CBFEB", transform: "r" + stadRotate + " " + stadCX + " " + stadCY + "s1.2" }, 200);
マウスアウト:
this.animate({ fill: "#cc0000", transform: "r" + stadRotate + " " + stadCX + " " + stadCY + "s1" }, 200);
これが正しい方法かどうかはわかりませんが、追加するものやより良い解決策がある場合は、コメントまたは回答を投稿してください