2010-07-25 130 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; 
}