В то время как я анимирую позицию с другой позиции, отличной от вас, следующий код должен дать вам представление о том, как сделать то, что вы пытаетесь сделать:
$('img').click(
function(){
var offset = $(this).offset();
var originLeft = offset.left;
var originTop = offset.top;
$(this).animate(
{
'top' : '400px',
'left': '200px'
}, 1500, function() {
$(this).animate({
'top': originTop,
'left' : originLeft
}, 1500)
});
});
Ссылка на JS Fiddle Demo .
Я отмечу, что в моей первой попытке моя собственная анимация также имела мгновенное мерцание, которое, по-видимому, связано с тем, что элемент контейнера имеетотступ или отступ, поэтому панель CSS на этой странице содержит следующее:
body, div, iframe {
padding: 0;
margin: 0;
}
Это, похоже, излечило этот кратковременный «мерцание» и, как я подозреваю, скорее всего решило бы вашу собственную проблему.,Но не видя живого демо, невероятно сложно понять, в чем проблема, кроме догадок.Если это не поможет, я, безусловно, рекомендую опубликовать демонстрационную версию JS Fiddle или JS Bin , чтобы мы могли видеть, с чем вы работаете.