オブジェクトの終了位置を取得したい。アニメーションが終了したときの上と左の位置です。アニメーションが終了した後ではなく、その位置を直接取得したい。
これをオブジェクト指向でやりたい。
これは私が得たものです:
(function($) {
Block = function() {
this.el = $('<div></div>');
this.el.css('position', 'relative');
}
Block.prototype.appendTo = function(parent) {
this.el.appendTo(parent);
return this;
}
Block.prototype.setSize = function(w, h) {
this.el.css('width', w);
this.el.css('height', h);
return this;
}
Block.prototype.setPosition = function(x, y, speed) {
speed = speed || 0;
this.el.animate({'left': x+ 'px', 'top': y+ 'px'}, speed);
return this;
}
Block.prototype.getPosition = function() {
var left = this.el.position().left;
var top = this.el.position().top;
return [left, top];
}
})(jQuery);
このクラスでブロックを作成し、その位置を console.log にすると、ブロックの開始点の位置が取得されます。終了位置を取得したい。直接
var block1 = new Block
block1.appendTo('body')
.setSize(100,50)
.setPosition(200, 300, 3000);
console.log(block1.getPosition());
だからconsole.log =[0, 0]
私はそれが欲しい[200, 300]