最近学到了bootstrap里的过渡效果,在用silidetoggle方法的时候出现了一个有意思的现象,在鼠标滑过速度过快或者次数过多或者其他不知名原因的情况下,收放效果一直重复,代码:
1 2 3 4 5 67 8 9 10 16 17 18 1964 69 7020 2463 62
经过一番查找,看到了一个方法:stop()。
.stop 是jQuery中用于控制页面动画效果的方法。运行之后立刻结束当前页面上的动画效果。 stop在新版jQuery中添加了2个参数: 第一个参数的意思是是否清空动画序列,也就是stop的是当前元素的动画效果还是停止后面附带的所有动画效果,一般为false,跳过当前动画效果,执行下一个动画效果; 第二个参数是是否将当前动画效果执行到最后,意思就是停止当前动画的时候动画效果刚刚执行了一般,这个时候想要的是动画执行之后的效果,那么这个参数就为true。否则动画效果就会停在stop执行的时候。 然后我把这个方法加到silidetoggle前面,代码如下:
1
然后,过渡动画不会再无意义重复了!stop()方法简单地来说,就是当鼠标离开目标区域时,立即终止当前没有执行完的过渡效果。