有這麼兩個方法,執行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動畫停止呢
$('.k-element-plugs-box').stop();
tureLeft();
$('.k-element-plugs-box').stop().animate()
,先停掉前面的動畫,然後再執行接下來的動畫$('xxx').stop() 或 $('xxx').stop().animate()
stop()的具體用法和參數說明去翻翻文檔, 解釋的會比較好點