2010-11-11 62 views
1

我有一個負載li s,我滑動使用jQuery和animate()函數。使用slideUp()slideDown()可以產生與我現在描述的效果相同的效果:li可以很好地滑動,但是當它們的高度爲零時,邊界(頂部和底部,1px)仍然存在,然後立即全部出現。我想知道...是否有一種方法可以讓jQuery獲得邊框不會「卡住」,而是像lidiv或其他任何東西一樣平滑地上下滑動。jQuery向上滑動CSS邊框導致奇怪的'跳躍'

我此刻的代碼是這樣的:

.animate({ 
    height: 'toggle', 
    margin: 'toggle', 
    padding: 'toggle', 
    opacity: 'toggle' 
}); 

我使用border CSS屬性與'toggle'嘗試。它可以很好地向上滑動,但是當向後滑動時,在緩動動畫結束時,邊框會恢復原狀。

+1

如果人們可以通過類似於http://jsfiddle.net/ – DaiYoukai 2010-11-11 19:17:18

+1

+1的病毒窗口波蘭語評論 – 2010-11-11 19:18:08

+0

@Archonix - 編輯:-)看到它會更容易另外,非常感謝鏈接 - 我不知道那樣的東西存在!真棒。 @John Hartsock - 謝謝:-P – Bojangles 2010-11-11 19:21:15

回答

2

我知道你在說什麼。我之前做過這件事,並且有同樣的問題。解決方法是在邊界div內部爲包含div的元素設置動畫。其效果相同。

例如...

<!--- Flakey ---> 
<div class="border slideMe"> 
    Content here... 
</div> 

<!--- Correct ---> 
<div class="border"> 
    <div class="slideMe"> 
     Content here... 
    </div> 
</div> 

希望這可以節省你一些頭痛。

+0

所以你說邊框CSS放在'class =「border」'位上,它裏面的所有東西都滑了起來?我會放棄它 - 謝謝。 – Bojangles 2010-11-11 19:22:16

+0

是的,把所有的CSS與.border的div放在一起。將內容放入內部div。它應該工作。 – 2010-11-11 19:28:11

+0

謝謝你。它仍然是_slightly_ off,但是它對我以前的東西有很大的改進:-) – Bojangles 2010-11-11 19:35:28