正在召唤神秘力量
导航

萌即是正义!时不时分享一些ACG活动记录与有趣代码的小站!

【jQuery】如何使用stop()来防止animate()的重复动画

作者:广树·时间:2016-02-27 14:03:20·分类:JavaScript/jQuery/Vue

在使用jQuery的.animate()的时候经常会遇到鼠标重复划过导致动画重复播放的问题。
这个时候就要用到stop([clearQueue], [gotoEnd])来阻止重复动画。
那么如何科学使用stop()来阻止重复动画呢?下面就举五个例子。



例1:无stop()的情况下:

$(this).animate();


  •  
  •  
  •  

如例子所示,在没有stop()的情况下,会随着鼠标划过的次数进行重复动画。



例2:stop(false, false)或者stop()

$(this).stop().animate();


  •  
  •  
  •  

默认为false,可以看到鼠标离开的一瞬间动画停止,但因为 [clearQueue]也是flase,所以会直接进入了下一步动画。动画的重复也仍旧还在。



例3:stop(false, true)

$(this).stop(false, true).animate();


  •  
  •  
  •  

[gotoEnd]为true,所以当鼠标离开后直接触发了最后的状态,然后直接运行了下面的高度变化的动画。但仍旧会重复动画。



例4:stop(true, false)

$(this).stop(true, false).animate();


  •  
  •  
  •  

[gotoEnd]为false,所以鼠标移开的一瞬间动画直接停止。同时 [clearQueue]为true,所以本应该执行的下一步高度变化的动画直接被清除,直接跳转播放鼠标移开后的动画。



例5:stop(true, true)

$(this).stop(true, true).animate();


  •  
  •  
  •  

两个值都为true的情况下,鼠标移开后动画直接播放到最终状态,同时[clearQueue]为true,所以本应该执行的下一步高度变化的动画直接被清除,直接跳转播放鼠标移开后的动画。



参考网址:http://www.kantenna.com/pg/2010/01/jqueryjquery_stop.php


侧边栏
最新评论
广树
2024-04-19
@MoeNya:现在绝大多数搜索引擎都会抓取前端渲染后的页面信息。但是像推特脸书这些社交平台的爬虫则不会,仍然是抓取静态页面。所以如果想要实现社交平台上动态展示标题封面图等信息的话,还是需要服务器渲染的支持。这就是我的博客没有选择纯前端渲染的原因。
MoeNya
2024-04-19
我还在想要不要做服务端渲染方便百度这些爬虫来抓,看这个状况好像也不太必要了,反正谷歌可以抓到前端框架制作的网页(ó﹏ò。)
广树
2024-04-18
@apple:百度以前是收录了维基萌的,但是最近看起来仅仅只是收录了,很难搜索到的样子。
apple
2024-04-18
百度现在备案的网站都不收录了嘛😂 最近都在用必应,虽说它也有广告,但搜出来的有用信息比百度好太多了
广树
2024-04-18
@嫖嫖乐:未来可期,未来可期👏
正在攻略

圣兽之王.jpg

传颂之物

PSN奖杯卡

PSN奖杯卡

赞助商广告