2010-07-25 54 views
0

我有使用jQuery的jScrollPane插件的滾動條。如何使jScrollPane自定義滾動條始終可見?

滾動條工作,所有內容都與AJAX,所以對於每個'頁面'加載,我添加滾動條的重新初始化。 但是,當內容比頁面短時,滾動條不可見。

這會導致10px的額外空間用於內容,並且使用100%可用空間的項目很煩人。

任何想法如何使滾動條即使在內容不可用時也可見? 或者一種替代的CSS方式來保留空間也很好。

回答

1

如果沒有人找到一個更好的解決方案,

我已經可以說,我修改JScrollPane的插件,總是顯示「跟蹤」欄,如果它要隱藏滾動條(因爲含量比小查看)我也不會追加'拖動'欄。儘管它不是一個很乾淨的選擇。

它應該更進一步,並禁用/重新啓用向上按鈕,添加css功能不會做懸停/活動狀態的時候禁用...爲更好的可用性。

還在期待一個可能更好的解決方案,但我覺得我會想出的唯一可能的解決方案,有可能是沒有開箱

1

我認爲,直到這個功能被添加到JScrollPane中存在的只有骯髒的技巧可以解決這個問題。我所做的就是如果啓用了滾動功能,可以詢問jScrollPane;如果沒有,我添加了一個看起來像空/禁用滾動條的div。這是代碼:

var scrollPane = $("#id-of-scroll-area"); 
scrollPane.css("height", "100%"); // I needed this; you may not 
var scroll = scrollPane.jScrollPane(); 
// check if scrolling is enabled 
if (!scroll.data('jsp').getIsScrollableV()) { 
    scrollPane.css("overflow-y", "hidden"); 
    scrollPane.css("width", leftPane.width() - 10); // 10 is width of scroll bar 
    scrollPane.after('<div id="white-v-bar">&nbsp;</div>'); 
} 

合這可以幫助別人...... 馬庫斯

這是虛擬滾動條的CSS:

#white-v-bar { 
height:100%; 
width:10px; 
background-color:white; 
float:left; 
}