出于某种原因,我的一段在单击链接时删除/添加类的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');
});
一些虚拟内容:
<ul class="main-nav">
<li><a href="#front" data-toggle="tab">Front</a></li>
<li><a href="#back" data-toggle="tab">Back</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="front">
<img src="http://lorempixel.com/400/200/" />
</div>
<div class="tab-pane" id="back">
<img src="http://placehold.it/400x200" />
</div>
</div>
编辑#1: CSS转换来自animate.css http://daneden.github.io/animate.css/。如果我不使用任何javascript代码,就可以在现代网络浏览器上完美运行。我认为CSS不是问题。
编辑2:显然,它适用于其他人的IE10和IE11,但不适用于我的。仍然留下问题,Firefox仅播放一次代码。
您要删除这些类并在之后立即再次添加它们-因此,如果出于性能优化的原因,浏览器决定在这两个动作之间不进行重新绘制,则根本看不到任何效果。
通过使用一个小的超时来“解耦”再次添加类,它似乎也可以在FF中工作:
$('[data-toggle="tab"]').click(function () {
$('.tab-pane').removeClass('animated flipInY');
setTimeout(function () {
$('.tab-pane').addClass('animated flipInY');
},
10);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句