为了账号安全,请及时绑定邮箱和手机立即绑定

如何避免多次点击造成的循环

我将代码改为$("#a1").stop().slideToggle(3000)后,发现第二次点击并没有继续原来的动画,而是向相反方向运动,请问这是为什么呢?有没有解决的方法了?

正在回答

5 回答

$(selector).stop(stopAll,goToEnd)

参数

描述

stopAll    可选。规定是否停止被选元素的所有加入队列的动画。    

goToEnd     可选。规定是否允许完成当前的动画。该参数只能在设置了 stopAll 参数时使用。

   


0 回复 有任何疑惑可以回复我~

点击运行,初始状态是绿框显示。点击按钮,绿框收缩,再次点击按钮,绿框显示

 第一种:$("#a1").stop().slideToggle(3000)

第二种: $("#a1").slideToggle(3000)

两种代码执行效果相同。stop() 是停止当前正在运行的动画。单独使用stop(),会停止动画效果。

那为什么第一种可以执行呢?

0 回复 有任何疑惑可以回复我~
#1

暮女神 提问者

我是说,为什么会向相反的方向运动,
2017-07-23 回复 有任何疑惑可以回复我~

点击触发请求后,标志位为false量;请求(或者包括请求后具体的业务流程处理)后,标志位为true量。通过标志位来判断用户点击是否具备应有的响应。



0 回复 有任何疑惑可以回复我~
#1

暮女神 提问者

我是说,为什么会向相反的方向运动,
2017-07-05 回复 有任何疑惑可以回复我~

没找到什么好办法,我是直接stop(false,true)跳过当前动画开始下一个

0 回复 有任何疑惑可以回复我~

stop()是停止所有在指定元素上正在运行的动画。是指正在进行的动画,刚开始动画还没开始,而且每次点击都进这个方法,就相当于重新开始,都不处于正在进行的动画,你可以用回调函数实现停止动画


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

如何避免多次点击造成的循环

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信