关于animate()的认知
一、课程中,看了jQuery中有对动画的操作并且给出了animate()这个函数,在使用的过程中发现如果不用stop()方法,那么animate()会等待上一个动画结束之后才执行。
二、以前写动画一般都是在css中直接写好了的,就以本课程透明度动画为例把,css中实现可以用transition:all 0.5来实现这一效果,js中只需要把透明度改成0就会有效果了,不一样的是,这样的写法不会存在上一个动画执行完毕后再执行后一个,我觉得应该是,所有元素都在同一个时间段执行了,不会等待,因此这里引发了我一个问题,jQuery中可以用stop来停止动画,那是不是运行起来的时候jQuery消耗的性能更少一点,对计算机更好一点,如果是这样。老师能不能大概讲下jQuery是怎么实现直接停止了的
正在回答
同学你好,问题解答如下:
1. 第一点的理解是正确的。多次使用animate()创建动画,动画会进行排队,前一个动画执行完毕,后一个动画再开始执行。
2. 就像同学所说的那样,多个css()方法一起调用实现动画,这些动画会同时进行,不会进行排队。
3. jQuery中可以用stop来停止动画,主要是用为了能让我们快速切换动画,并不是考虑性能。比如动画1执行的时候,我不想看了,我想直接看动画2,如果不使用stop,那就只能等待动画1执行完毕,再看动画2,而使用stop可以立刻终止动画1,直接看到动画2的效果。
4. jQuery的stop方法,是对js进行封装之后实现的,同学不需要去关注它的具体实现原理和过程,只要知道它怎么用即可。
如果我的回答帮到了你,欢迎采纳,祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星