Jquery 切换CSS类太快而无法注册?

Jquery 切换CSS类太快而无法注册?,jquery,css-transitions,Jquery,Css Transitions,我有一个HTML5页面,上面有一个SVG,其中包括 <path id="outlineCO" class="state included" [details omitted]/> 要点是我的美国地图上的州有一个默认背景;被“包括”的国家有另一个背景;并声明暂时也给类名“new”获取另一个背景 使用jQuery,如果我在Chrome的控制台中执行以下命令 $("#outlineCO").toggleClass("new"); 我看到科罗拉多州的背景色从青色变为洋红色,正如预

我有一个HTML5页面,上面有一个SVG,其中包括

    <path id="outlineCO" class="state included" [details omitted]/>
要点是我的美国地图上的州有一个默认背景;被“包括”的国家有另一个背景;并声明暂时也给类名“new”获取另一个背景

使用jQuery,如果我在Chrome的控制台中执行以下命令

$("#outlineCO").toggleClass("new");
我看到科罗拉多州的背景色从青色变为洋红色,正如预期的那样。如果我再次执行相同的代码,我会看到Colorado在2秒内从洋红变回青色

但是,如果我执行

$("#outlineCO").toggleClass("new"); $("#outlineCO").toggleClass("new");


什么也没发生。颜色始终保持蓝色。就好像在我删除元素时,元素中添加的“new”还没有注册。在添加注册之前,是否需要经过一定的时间,以便删除操作将产生所需的效果,即立即将状态切换为洋红色,然后缓慢切换回青色?

如果您希望坚持使用jQuery,可以使用jQuery UI库中的
切换类
方法(请参见),它还接受持续时间参数(ms)

请参阅下面的代码段(持续时间设置为1000毫秒):

$('#square').toggleClass('new',1000)。toggleClass('new',1000)
#正方形{
宽度:50px;
高度:50px;
背景:#ccc;
}
#新广场{
背景:红色;
}


必须给浏览器重新绘制的机会。对于dom的每一次更改,它都没有这样的机会。我的一个问题是,为什么要这么快地添加和删除一个类?你是想让某些东西闪烁或闪烁还是什么?与其添加或删除一个类来执行这个逻辑,不如创建一个与带有步骤的转换相关联的类。这些步骤会立即将其更改为洋红色,然后逐渐将其更改回原来的颜色。这是一张交互式地图,显示选定年份内几个州的状态。当选择年份时,先前年份中已“包含”的州以青色显示,而该年中首先包含的州以洋红色开始,然后过渡到青色。(这是现有Flash版本的工作方式。我们正在用HTML5重建它。)假设选择了2015年,科罗拉多州在2009年首次被“纳入”。所以它会呈现青色。现在,如果用户选择2009年,科罗拉多州需要直接转到洋红,然后转换回青色。这就是我想要的效果。是的,我会用css动画,而不是JavaScriptThank。我去看看。
$("#outlineCO").toggleClass("new"); $("#outlineCO").toggleClass("new");
$("#outlineCO").toggleClass("new").toggleClass("new");