2011-05-15 79 views
3

所以我有一個溢出y:滾動的容器。容器的高度可以改變,通常它會減少。更改將使用jQuery進行動畫。但是當容器動畫時,滾動條消失,並且只有在動畫完成時纔會重新出現。無論如何要改變滾動條的尺寸旁邊容器的動畫?容器高度變化時動畫scollbars

這裏有一個的jsfiddle例如:http://jsfiddle.net/SPLt2/

+0

我不這麼認爲,因爲滾動條是瀏覽器UI的一部分,不能改變,如果你不能改變它的顏色[演示文稿],你deffenetly不能夠做一些先進的,因爲它是動作或事件:) – Val 2011-05-15 16:15:39

+1

一個絕妙的想法是隻需添加幾個圖像來操縱它,或者讓它看起來就像沒有處理程序的滾動條:)並且它看起來像處理程序已經消失以計算事物,並在結尾處再次出現:) – Val 2011-05-15 16:18:52

回答

4

的問題是,animate自動設置樣式爲overflow: hidden

您可以通過使用一個階躍函數重載風格規避這樣的:

$('button').click(function() { 
    $('#container').animate(
     {'height': '100px'}, 
     { step: function() { $(this).css("overflow-y", "scroll") } } 
    ); 
}); 
+0

謝謝,效果很好! – Sacha 2011-05-15 18:12:58

0

如果一個step後滾動條不留周圍(像我經歷)添加complete功能吧。

像這樣:

$('button').click(function() { 
    $('#container').animate(
     {'height': '100px'}, 
     { step: function() { $(this).css("overflow-y", "scroll") } }, 
     { complete: function() { $(this).css("overflow-y", "scroll") } } 
    ); 
}); 

看一看http://bugs.jquery.com/ticket/2648更多的信息。