我的javascript to removeClass + addClass当点击仅适用于Chrome但不适用于Firefox或IE

出于某种原因,我在点击链接时删除/添加课程的javascript只适用于Google Chrome。 在Firefox上,它执行一次,然后不重复。 在IE上,它直接完全没有工作。 (最新版本的Firefox和Chrome,IE 11)

如果有人能指出我正确的方向,那将非常感激!

这个问题的简单JSFiddle: http : //jsfiddle.net/UDxtM/

这是javascript:

$('[data-toggle="tab"]').click(function() { $('.tab-pane').removeClass('animated flipInY'); $('.tab-pane').addClass('animated flipInY'); }); 

一些虚拟内容:

  

编辑#1: CSS转换来自animate.css http://daneden.github.io/animate.css/ 。 如果我只是在没有javascript的情况下使用它们,它在现代Web浏览器上完美运行。 我不认为CSS是问题。

编辑#2:显然它适用于其他人的IE10和IE11,但不是我的。 这仍然留下了Firefox只播放一次代码的问题。

您正在删除类并在之后立即再次添加它们 – 因此,如果出于性能优化原因,浏览器决定不在这两个操作之间进行重新绘制,则根本没有可见的效果。

通过使用一个小的超时“去耦合”再次添加类,它似乎也在FF中工作:

 $('[data-toggle="tab"]').click(function () { $('.tab-pane').removeClass('animated flipInY'); setTimeout(function () { $('.tab-pane').addClass('animated flipInY'); }, 10); }); 

http://jsfiddle.net/UDxtM/3/