2014-06-20 127 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