這裏是我想要達到一個小例子:jQuery animate:如何避免元素被移動?
var elemOrigPos;
$('div.box').hover(
function() {
var $this = $(this);
elemOrigPos = $this.position();
var offset = 50;
$this.stop(true, true).animate({
'width': '200px',
'height': '200px',
'top': (elemOrigPos.top - offset) + 'px',
'left': (elemOrigPos.left - offset) + 'px'
}, 150);
},
function() {
$(this).stop(true, true).animate({
'width': '100px',
'height': '100px',
'top': (elemOrigPos.top) + 'px',
'left': (elemOrigPos.left) + 'px'
}, 150);
}
);
,如果你將鼠標懸停在慢慢的元素,但只要你對他們懸停更快它工作正常,他們失去原來的位置。我想這與我在動畫完成前使用position()有關,但無法找出解決方案。
在此先感謝您提供任何提示或提示以解決此問題。 :)
當你快速將鼠標懸停在elemOrigPos被下一個方形的位置取代它有一個變化,完成動畫前廣場。 – Bruno
是的,我知道。我只是無法想出像@Tigraine那樣的優雅解決方案。 :) – Bay