ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript – 为什么jQuery .animate回调发生在动画之前?

2019-07-15 15:32:47  阅读:173  来源: 互联网

标签:jquery javascript jquery-animate


为什么在动画之前会发生这个.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());

标签:jquery,javascript,jquery-animate
来源: https://codeday.me/bug/20190715/1469185.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有