为什么这个 .animate
函数的回调发生在动画之前?
引用:http://jsfiddle.net/93Qyq/7/
这是 Javascript 部分:
$('#clickButton').click(function() {
$('.spanClass').animate({
left: '+=200'
}, 500, positionReset());
});
function positionReset(){
alert('complete!');
$('.spanClass').animate({'left':'-=200'})
}
这是 HTML:
<div class="divClass">
<span id="a" class="spanClass">A</span>
<span id="b" class="spanClass">B</span>
<span id="c" class="spanClass">C</span>
</div>
<br>
<div id="clickButton">CLICK BUTTON</div><br>
最佳答案
那是因为您没有将您的函数传递给 animate()
- 您正在调用它,并传递它返回的值(这不是一个函数,随后被框架忽略)。
您必须删除函数后的括号:
$('.spanClass').animate({
left: '+=200'
}, 500, positionReset); // No parentheses.
代替:
$('.spanClass').animate({
left: '+=200'
}, 500, positionReset());
关于javascript - 为什么 jQuery .animate 回调发生在动画之前?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13013435/