Animate.css不适用于第二次点击

如果我第一次点击.img-1或.img-2就可以了。 bt不是第二次没有页面刷新。 我正在使用Animate.css(zoomIn)。 这是代码示例 –

HTML:

  

×

jQuery的:

 $('.img-1,.img-2').click(function(){ $('.back-end,.front-end,.dismiss').addClass('animated zoomIn').show(); }) $('.dismiss').click(function(){ $('.back-end,.front-end,.dismiss').addClass('animated zoomOut'); }) 

在jsfiddle http://jsfiddle.net/oxu69Luw/中看到它

脚本如下所示:

 $(function () { function applyZoomInOutAnim(x) { $('.back-end,.front-end,.dismiss').removeClass("zoomIn zoomOut").addClass(x + ' animated'); } $('.img-1,.img-2').click(function () { applyZoomInOutAnim('zoomIn'); }); $('.dismiss').click(function () { applyZoomInOutAnim('zoomOut'); }); }); 

我不是100%肯定,但我认为你必须先.removeClass …然后当你想再次播放动画时,你必须再次.addClass

http://jsfiddle.net/wahidsherief/e87dkpbf/1/

加价:

 

×

image 1 image 2

css:

 .back-end{position: absolute; width: 100%;height: 100%;background: rgba(0,0,0,.4); z-index: 600} .front-end {background: none repeat scroll 0 0 #fff;height: 65%;left: 16%;position: absolute;top: 22%;width: 68%;z-index: 1000;} .dismiss{color: black;z-index: 2000;background:red;padding: 30px 50px;font-size: 60px;cursor: pointer;} 

脚本:

 $('.back-end,.front-end,.dismiss').hide(); function applyZoomInOutAnim(x) { $('.back-end,.front-end,.dismiss').removeClass("zoomIn zoomOut").addClass(x +' animated'); } $('.thumbnail').click(function () { applyZoomInOutAnim('zoomIn'); $('.back-end,.front-end,.dismiss').show(); }); $('.dismiss').click(function () { applyZoomInOutAnim('zoomOut'); $('.back-end,.front-end,.dismiss').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function(){ $(this).hide(); }); });