經過進一步研究,這個我想我明白這個問題。
當你繪製拉斐爾是在畫布上設定的位置,當我們進行旋轉,它是在該組位置的頂部施加轉型的路徑。觸發懸停事件我們應用一個縮放轉換,它將清除任何以前的轉換,這就是爲什麼對象返回到原始位置。
,我想出瞭解決的辦法是,當我們進行懸停動畫,我們還需要進行任何電流施加的轉動和旋轉的時候,我們需要確保縮放復位。我也注意到,當旋轉發生時,如果將鼠標懸停在某個塊上,會出現一些奇怪的動畫,並且可能需要在旋轉時禁用懸停。
請參閱的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);
我不知道這是否是這樣做的正確的方式,但如果有人有什麼補充或更好的解決方案請不要發表評論或回答
可否請你更新在給定鏈路的代碼?它不包含除創建Paper對象之外的任何代碼。 –
對不起,是我不好,應更新現在 – ginja
增加了新的jsfiddle鏈接 – ginja