搜索

首页  >  问答  >  正文

javascript - jquery如何让一个animate动画停止

有这么两个方法,执行turnRight方法控制盒子右移,执行turnLeft控制盒子左移,盒子默认是在右边的。

function tureRight(){
    $('.k-element-plugs-box').animate({
                marginLeft: "0px"
        },1000,function(){
            console.log("end")
    })
}
    
function tureLeft(eletype){
    $('.k-element-plugs-box').animate({
        marginLeft: "-180px"
    },300)    
 }

在turnRight方法中,animate动画方法中我加了一个回调函数用来执行console.log("end"),现在有个问题就是当turnRight方法执行后,盒子右移,时长为1秒,结束后打印"end",如果当盒子还未到达右边(也就是时间还不够1秒)时我执行turnLeft这个方法,他会等1秒结束之后才执行turnLeft方法。
如果是JS自己写我知道清除定时器就好了,但是jquery怎么让turnRight里的animate动画停止呢

某草草某草草2783 天前585

全部回复(3)我来回复

  • 阿神

    阿神2017-05-16 13:45:21

    $('.k-element-plugs-box').stop();
    tureLeft();

    回复
    0
  • PHPz

    PHPz2017-05-16 13:45:21

    $('.k-element-plugs-box').stop().animate(),先停掉前面的动画,然后再执行接下来的动画

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:45:21

    $('xxx').stop() 或者 $('xxx').stop().animate()
    stop()的具体用法和参数说明去翻翻文档, 解释的会比较好点

    回复
    0
  • 取消回复