使用jQuery防弹显示/隐藏动画框

时间:2013-02-13 14:48:25

标签: javascript jquery jquery-animate

我正在尝试实现以下最终结果:在页面加载时,有一个带有标题(或图像,某些元素等)的内容框。将鼠标悬停在此内容框上时,原始内容会淡出,并被新内容替换。此外,该框将通过动画放大。在mouseout上,内容框将在页面加载时返回到原始状态,方法是淡出新内容,淡化旧内容,然后将内容框返回到原始高度。

我所做的工作确实有效,但并非防弹。您可以将鼠标悬停在框上,鼠标悬停,然后再次将鼠标悬停在框上,它会显示包含新内容的原始高度的框。

我正在尝试找出一种防弹方式来实现这一点并让它在IE8 + / Chrome / Safari / Firefox中运行。必须有一些简单的方法,我忽略了完成这个,我找不到一个很好的方法来做它。

我尝试在元素中添加一个动画类,在动画完成时将其删除,然后使用setTimeout检查该类是否在400毫秒后仍然存在,但我遇到了一些麻烦使用该方法在IE8中工作。

我不确定其他任何我可以尝试的事情,如果有人有任何建议我会非常感谢你的帮助。

提供的JSFiddle提供了我想要做的基本想法。我只是在寻找一种防弹的方法。

JSFiddle:http://jsfiddle.net/Ur78U/1/

1 个答案:

答案 0 :(得分:0)

我想出的解决方案是使用jQuery fadeTo()方法。

这样可以确保动画完成并且不会像我的示例那样卡住。

这是一个小提琴:http://jsfiddle.net/Ur78U/2/