私はjavascriptとRaphaelを初めて使用します。テキストが入ったボタンのような長方形を移動しようとしています。これが私のコードです:
window.onload = function() {
var paper = new Raphael(document.getElementById('canvas_container'), "100%", "100%");
var box1 = paper.rect(100, 100, 120, 50, 10).attr({fill: 'darkorange', stroke: '#3b4449', 'stroke-width': 2, cursor: 'pointer'});
var box2 = paper.rect(400,100,120,50,10).attr({fill: 'lightblue', stroke: '#3b4449', 'stroke-width': 2});
var text2 = paper.text(box2.attrs.x + box2.attrs.width/2,box2.attrs.y + box2.attrs.height/2,"[x: " + box2.attrs.x + " y: " + box2.attrs.y + "]").attr({"font-family": "arial", "font-size": 16});
var button2 = paper.set();
button2.push(box2);
button2.push(text2);
box1.click(function(){
// this did not work
// button2.animate({x: 100, y: 50 }, 1000, 'bounce', function() { // callback function
// text2.attr('text',"[x: " + box2.attrs.x + " y: " + box2.attrs.y + "]");
// });
button2.animate({transform: "t100,100"}, 1000, 'bounce', function() { // callback function
text2.attr('text',"[x: " + box2.attrs.x + " y: " + box2.attrs.y + "]");
});
});
}
button2.animate({x: 100, y: 50 }, 1000, 'bounce');
行が正しく機能しませんでした。テキストが最後に正しい位置にありませんでした。座標を使用transform:
できないため、それらを計算する必要があります。transform
また、メソッドを使用すると、最後に青いボックスの正しい座標を取得できません。
まだ答えを見つけることができませんでした。誰かが私を助けてくれることを願っています。
ありがとうございました