感謝@ian爲我安排有:
http://jsfiddle.net/4eL3gstp/17/
(function(){
var canvas = Snap('#svg');
var text = null;
var setRotation = function(degrease){
var data = text.data('origionalData');
var matrix = new Snap.Matrix(1,0,0,1,data.dx,data.dy);
matrix.rotate(degrease,0,0);
text.attr({
transform: matrix,
});
};
canvas.attr({ width : 200, height : 200 });
text = canvas.text(100,100, 'texttext').attr({
'text-anchor' : 'middle',
'font-size' : 50,
transform: 't50,50'
});
text.drag();
text.data('origionalData', text.transform().localMatrix.split());
text.attr({
transform : 't' + text.data('origionalData').dx + ',' + text.data('origionalData').dy,
x : 0,
y : 0
});
eve.on("snap.drag.end", function() {
text.data('origionalData', text.transform().localMatrix.split());
});
var interval = null;
$('#textRotate').bind('mousedown', function(){
var slider = $(this);
interval = setInterval(function(){
setRotation(slider.val());
}, 50);
}).bind('mouseup.builder', function(){
clearInterval(interval);
})
.bind('change', function(){
setRotation($(this).val());
});
})();
嘗試activeElement.transform(activeElement.transform()localMatrix.toTransformString()+ 'R' +脫脂+'20,20')。如果你仍然有問題,我會嘗試一個jsfiddle – Ian
不按預期安靜工作。度數似乎是每次函數被調用時添加,而不是將其設置爲特定值^^感謝那雖然 –
這將是相對於其位置旋轉不是嗎?你的意思是你希望它不會相對於它的位置旋轉,並且相對於某個存儲值進行相對旋轉?我可能仍然彈出它在一個小提琴 – Ian