2012-11-26 108 views
2

我有一個小問題動畫divoverflowed,動畫期間滾動閃爍。jquery animate隱藏滾動

我犯了一個快速例如:

$(".div-animate").on("click", function(e){ 
    var toTop = 100, 
     toHeight = $(this).outerWidth(true) + toTop; 

    $(this).animate({ 
     top: toTop, 
     height: toHeight 
    }); 
}); 

live example

如何防止這個小 '滾動閃爍'?

+0

這取決於滾動我想,反正MacOSX上和FF滾動在我的chrome和FF上不閃爍 – sbaaaang

+0

,發生眨眼。 –

回答

5

jQuery在使用動畫功能時添加了overflow:hidden規則。 有兩個黑客,你可以這樣做:

1)修改其中溢出設置好的隱藏了jQuery源的行(你只能如果您從您的網站導入的jQuery做到這一點)

2)強制物業在你的CSS做這樣的事情

.div-animate { 
    overflow: auto !important; 
} 
+0

該死的,爲什麼我在問之前試試這個,反正謝謝,會檢查js線。 –

+0

別擔心。最好的事情是你解決了! –

2

嗯,這是可以做到過這樣:

$(this).animate({ 
     top: toTop, 
     height: toHeight 
    }).css({"overflow":"auto"}); 
+0

這是一個聰明的方式,這樣你就不必在你的css中使用!重要的標籤。好解決方案! –