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

来源:2-3 jQuery中上卷下拉切换slideToggle

暮女神

2017-06-18 21:30

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

写回答 关注

5回答

  • qq_蒙蒙细雨_0
    2017-07-21 08:16:54

    $(selector).stop(stopAll,goToEnd)

    参数

    描述

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

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

       


  • qq_蒙蒙细雨_0
    2017-07-21 08:14:33

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

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

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

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

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

    暮女神

    我是说,为什么会向相反的方向运动,

    2017-07-23 07:41:56

    共 1 条回复 >

  • 慕设计2353769
    2017-07-05 16:04:02

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



    暮女神

    我是说,为什么会向相反的方向运动,

    2017-07-05 16:56:20

    共 1 条回复 >

  • Robert_Langdon
    2017-07-04 00:39:30

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

  • qq_徐涛_0
    2017-06-19 16:48:27

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


jQuery基础(四)—动画篇

jQuery基础教程动画篇,讲解jQuery基础开启动画修炼

85049 学习 · 262 问题

查看课程

相似问题