2012-11-26 57 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中使用!重要的标签。好解决方案! –