2011-09-25 60 views
0

我知道這是一個相當流行的話題,但我希望有人能夠幫助我完成特定的實現。我正在研究一個使用jQuery動畫創建手風琴菜單的設計,它可以工作,但是在動畫過程中我會產生很多抖動。jQuery水平手風琴抖動

從我的搜索中,解決方案似乎是用一個animate()對象和一個step()函數來動畫所有元素,以確保同步。問題是,我不能爲我的生活,拿出一個step()功能,工作。

這裏是我的最新嘗試:http://www.3strandsmarketing.com/jq-test-v2.html

如果你慢慢移動鼠標它的工作原理,但代碼是缺憾的,至少可以說,如果你快速移動鼠標它完全分崩離析(順便說一句,我我試圖用hoverIntent插件緩解這種情況,但我不喜歡它添加的延遲)。

我認爲答案可能在JQuery Accordion Jitter IssueJitter in Jquery Accordion Implementation,但我缺乏使他們的代碼適應我的情況的技能。

另外,我真的想避免添加jQuery UI的額外重量,如果可能的話。任何幫助,非常感謝。謝謝。

+0

我做了一個jsfiddle這個http://jsfiddle.net/bKZ4t/ – rwilliams

+0

這是一個有趣的問題。我會推薦使用不同的庫/插件來滿足您的需求。查看[jQuery水平滑塊](http://lxcblog.com/2010/10/14/jquery-horizo​​ntal-slider-sliding-doors-tabs/)或[jQuery易滑動滑動菜單](http://www.rgdesign。 org/portfolio/2009/jquery.ease.slide.menu.v1/index_with_images.html) –

+0

感謝@rwilliams,這應該讓人們更容易合作。 rfausak,感謝您的鏈接。 jQuery的水平滑塊絕對看起來很有希望,除了在擴展一個不同的項目時你似乎無法中斷動畫。它的次要的,但我試圖讓我的實現中的功能。 –

回答

1

好吧,經過幾個小時的修補,現在是凌晨5點,我想我已經擁有它了。我最終能夠適應我在原始問題中引用的解決方案。我更新了@rwilliams使用新代碼製作的jsfiddle,所以如果您有興趣,您可以在那裏看到我的改編(http://jsfiddle.net/bKZ4t/2/)。

它工作得很好。可悲的是,抖動並沒有完全消失。它比以前更不明顯,我想我只能解決這個問題,除非其他人能夠改進我的實施。

感謝所有人的貢獻。

+0

我最近重新訪問了這段代碼,發現了一個根本不產生抖動的解決方案。我使用的是CSS轉換,而不是使用jQuery動畫。當然,我仍舊回退到舊版瀏覽器的jQuery動畫。 –