课程
/前端开发
/jQuery
/jQuery基础(四)—动画篇
我将代码改为$("#a1").stop().slideToggle(3000)后,发现第二次点击并没有继续原来的动画,而是向相反方向运动,请问这是为什么呢?有没有解决的方法了?
2017-06-18
源自:jQuery基础(四)—动画篇 2-3
正在回答
$(selector).stop(stopAll,goToEnd)
参数
描述
stopAll 可选。规定是否停止被选元素的所有加入队列的动画。
goToEnd 可选。规定是否允许完成当前的动画。该参数只能在设置了 stopAll 参数时使用。
点击运行,初始状态是绿框显示。点击按钮,绿框收缩,再次点击按钮,绿框显示
第一种:$("#a1").stop().slideToggle(3000)
第二种: $("#a1").slideToggle(3000)
两种代码执行效果相同。stop() 是停止当前正在运行的动画。单独使用stop(),会停止动画效果。
那为什么第一种可以执行呢?
暮女神 提问者
点击触发请求后,标志位为false量;请求(或者包括请求后具体的业务流程处理)后,标志位为true量。通过标志位来判断用户点击是否具备应有的响应。
没找到什么好办法,我是直接stop(false,true)跳过当前动画开始下一个
stop()是停止所有在指定元素上正在运行的动画。是指正在进行的动画,刚开始动画还没开始,而且每次点击都进这个方法,就相当于重新开始,都不处于正在进行的动画,你可以用回调函数实现停止动画
举报
jQuery基础教程动画篇,讲解jQuery基础开启动画修炼
2 回答stop(true,true)状态下,点击开始动画,点击暂停,再点击开始时,会有延时问题。如何消除上一个动画带来的延时影响?
2 回答在stop(true)状态下,多次点击开始暂停动画 动画运行的速度会变慢,why?
1 回答如果有多个改变量 如何取到它们变化的当前值 ?
2 回答slideToggle点击问题
1 回答为什么点击两次确定“执行完毕”对话框才消失?