raphael.js を使用して、単純なドラッグ可能な四角形を実装しました。
var paper = Raphael('container', '100%', '100%');
var elements = paper.rect(10, 20, 300, 200).attr({ fill: "#FC0" });
var o_x, o_y;
elements.drag(function (dx, dy, x, y, e) {
elements.translate(x - o_x, y - o_y);
o_x = x;
o_y = y;
},
function (x, y, e) {
o_x = x;
o_y = y;
},
function (e) { });
次のhtmlで:
<div id="container"></div>
四角形をドラッグして約 20 秒間大きく振った後、メモリ使用量が 200 MB 増加し、ドラッグが非常に反応しなくなります。私のコードの問題は何ですか?これをfirefox 22でテストしました。
ここに jsfiddle リンクがあります: http://jsfiddle.net/jyhAx/
.transform()
ただし、メモリリークなしで動作するようです。