有这么两个方法,执行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()的具体用法和参数说明去翻翻文档, 解释的会比较好点