jQuery Animation.stop()问题

jQuery Animation.stop()问题,jquery,css,Jquery,Css,嗨,我正在使用jquery、css和html创建一个自定义开关。起初它工作正常,直到您快速单击开关时,动画才如预期的那样出现。我用动画停止,但它仍然不工作。 $('.options')。单击(函数(){ var holder=$(this.parent('.switch holder'); if(parseInt(holder.css('margin-left'))>=“0”){ //纳卡关 holder.stop(假、真)。设置动画({ “左边距”:“-=50px” }“慢”); }否则{ h

嗨,我正在使用jquery、css和html创建一个自定义开关。起初它工作正常,直到您快速单击开关时,动画才如预期的那样出现。我用动画停止,但它仍然不工作。
$('.options')。单击(函数(){
var holder=$(this.parent('.switch holder');
if(parseInt(holder.css('margin-left'))>=“0”){
//纳卡关
holder.stop(假、真)。设置动画({
“左边距”:“-=50px”
}“慢”);
}否则{
holder.stop(假、真)。设置动画({
“左边距”:“+=50px”
}“慢”);
}
});
.switch容器{
填充:0px;
利润上限:4倍;
字体大小:0px;
显示:内联块;
宽度:100px;
高度:35px;
溢出:隐藏;
外形:实心1px黑色;
}
.开关容器.开关支架{
宽度:150px;
身高:继承;
}
.开关容器.选项{
字体大小:10px;
显示:内联块;
身高:继承;
框大小:边框框;
浮动:左;
宽度:33.33%;
背景:灰色;
填充:0px;
边际:0px;
}
.打开{
背景:绿色;
}
.打开容器。关闭{
背景:红色;
}

关
在…上
尝试使用.finish()方法而不是.stop()。从文件中:

在元素上调用.finish()时,当前运行的动画和所有排队的动画(如果有)立即停止,并将其CSS属性设置为其目标值。将删除所有排队的动画

代码段:

$('.options')。单击(函数(){
var holder=$(this.parent('.switch holder').finish();
如果(!holder.hasClass('open')){
//纳卡关
动画({
“左边距”:“-=50px”
},“慢”).addClass(“打开”);
}否则{
动画({
“左边距”:“+=50px”
},“慢”).removeClass('open');
}
});
.switch容器{
填充:0px;
利润上限:4倍;
字体大小:0px;
显示:内联块;
宽度:100px;
高度:35px;
溢出:隐藏;
外形:实心1px黑色;
}
.开关容器.开关支架{
宽度:150px;
身高:继承;
}
.开关容器.选项{
字体大小:10px;
显示:内联块;
身高:继承;
框大小:边框框;
浮动:左;
宽度:33.33%;
背景:灰色;
填充:0px;
边际:0px;
}
.打开{
背景:绿色;
}
.打开容器。关闭{
背景:红色;
}

关
在…上

我试过了,但结果还是一样。也许我用错了?你能给我一个片段吗?感谢您查看我添加的代码片段。我想你应该先写完,然后检查页边空白。谢谢!你是怎么想到这个主意的?通过在其上添加类,if语句可能失败,因为动画会影响边距位置。通过该类可以更好地确定动画是否正在运行。