您正在尝试编写的代码中存在多个问题。
- removeClass 和 addClass 的使用方式。
- 您不需要间隔来监视值的变化。您可以使用滑块的更改事件。
- 您需要删除以前添加的类,以便向后动画工作。
我已经重写了代码以满足您的要求。请注意,jquery 没有通过通配符删除类的方法。所以在 removeClass 中使用函数作为参数,它使用 reg ex 魔法来做这些事情。
$(function() {
$( "#slider1" ).slider({
range: "min",
value: 1,
min: 1,
max: 9,
slide: function( event, ui ) {
$( ".amount1" ).val( ui.value);
var chosenvalue = $(".amount1").val()
var chosenclass = "box" + chosenvalue
$(".mycar").removeClass (function (index, css) {
return (css.match (/box\d+/g) || []).join(' ');
});
$(".mycar").addClass(chosenclass);
}
});
$( ".amount1" ).val($( "#slider1" ).slider( "value" ));
});
在这里找到更新的小提琴。
http://jsfiddle.net/Z8knE/37/