2014-06-20 100 views
0

我目前正在编码一个可扩展的盒子,并且在击败开关式悬停故障之后,我意识到存在一种特殊情况,在这种情况下,我无法让自己的行为以我想要的方式行事。css动画之间的平滑过渡

的代码可以发现如下: http://codepen.io/Sandypandy/pen/Fyuxf

与上述的情况:当我悬停时,它的封闭圈子,单击它并立即采取我的光标出去,再加上旋转了一下,然后大致跳直到想要的位置(当我将鼠标悬停在圆上时,单击它并将光标保持在内)工作得非常细腻。

我会非常感谢您的任何建议。 干杯, E.

+0

我看到原因是当你的鼠标进入时,旋转开始于360,结束于0 ...如果鼠标离开,它始于360并结束于0,这是相同的。所以如果鼠标碰巧离开时旋转只有270左右......它会立即回到360并开始旋转。 – Grapho

+0

让我看看是否有不同的方式...请保持... [音乐] – Grapho

+0

我宁愿理解这种行为的原因,我真的不知道如何以任何方式摆脱它。我试图把其他旋转值,但它似乎仍然没有工作,可悲。感谢您的帮助,顺便:) – Entalpia

回答

0

下面是答案我敢肯定

http://codepen.io/anon/pen/DzFyr

基本上我删除了所有引用的CSS和JavaScript的“unhovered”状态......而在js的“click toggle”部分,我确保在“clicked”类切​​换之前,“hovered”类被删除。

我认为有太多不必要的属性彼此冲突。

故事的寓意是你并不总是需要在鼠标外出行为中定义一个特定的鼠标。 CSS Transition将有助于在原始状态和结束状态之间平滑过渡...并再次返回。

+0

我想我在鼠标上使用了额外的类,以防止加载第一个动画(可能已经使用此解决方案在其他地方早些时候,它的工作,所以给了它在这里也是一个镜头)。无论如何,这正是我想要完成的(并且失败......)。谢谢! – Entalpia

+0

好吧,好消息是,你编码所需的一切或多或少都正确......只需要一点优化;) – Grapho