搜尋

首頁  >  問答  >  主體

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動畫停止呢

某草草某草草2740 天前566

全部回覆(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
  • 取消回覆