2011-04-14 85 views
6

使用jQuery UI的抖動效果會導致元素運行到換行符,搖動,然後運行。我嘗試改變位置CSS等,但沒有黑客攻擊它,我覺得有一個正常的,優雅的解決方案。JQuery搖動用戶界面問題

http://jsfiddle.net/ShhER/6/

我想說這是一個錯誤,但它可能不是...任何想法?

+0

它在小提琴中工作得很好。你不能改變X軸上晃動的距離嗎?我沒有使用過這種效果,不記得文檔 – 2011-04-14 01:31:07

+0

不,它需要一個參數,但無論如何,它總是向左走,然後搖動該參數的距離。這裏是另一個例子:http://jsfiddle.net/ShhER/6/。只需點擊刷新,你就會注意到搖晃問題。 – delphi 2011-04-14 02:10:48

回答

2

正在動畫的元素應該是塊級別的,或者明確地有display: block

我設置了display: block,然後相應地調整了標籤的CSS。它運行良好。

jsFiddle

+0

這將工作得很好,但現在我不能有兩個元素相鄰(我在我的主代碼中)。 http://jsfiddle.net/ShhER/6/(我刪除了顯示:塊在這裏) – delphi 2011-04-14 02:09:03

+3

@delphi [浮動他們](http://jsfiddle.net/alexdickson/ShhER/7/)。 – alex 2011-04-14 02:22:08

+0

很好,謝謝! – delphi 2011-04-16 00:59:24

0

我只是調試了jQuery UI Shake效果,發現插件爲將使用效果的元素創建一個包裝。這個包裝器是爲了將jQuery動畫函數與Shake給定屬性一起使用所必需的。

我通過向包裝添加100%來解決這個問題。在我的情況下,我有這樣的事情:

<div class="errorBox nameBox" style="position: absolute; top: 352px; left: 948.5px; display: block; width: 100%"> 
    <div class="errorArrow"></div> 
    <div class="errorDescription">Type your name</div> 
</div> 

問候。

0

我發現jQuery添加包裝類與類ui-effects-wrapper元素所以添加這個CSS解決了我的問題。

.ui-effects-wrapper { 
     display:inline; 
    }