我有一个div容器,并定义了它的样式如下:
div#tbl-container
{
width: 600px;
overflow: auto;
scrollbar-base-color:#ffeaff
}
Run Code Online (Sandbox Code Playgroud)
一旦我填充了这个div所包含的表格,这会自动给我水平和垂直滚动条.我只想要自动出现水平滚动条.我将以编程方式修改表的高度.
我该怎么做呢?
使用jQuery,我想禁用正文的滚动:
我的想法是:
body{ overflow: hidden;} scrollTop();/scrollLeft() 有没有更好的办法?
更新:
请参阅http://jsbin.com/ikuma4/2/edit,查看我的示例,以及原因
我知道有人会想"为什么他不只是position: fixed在面板上使用?".
由于我有其他原因,请不要这样做.
我正在使用Jquery对话框在页面顶部打开一个弹出框窗口.当我打开对话框时,我希望禁用常规页面滚动.为此,我正在做:
$('body').css({overflow:'hidden'});
Run Code Online (Sandbox Code Playgroud)
对话框打开时,:
$('body').css({overflow:'auto'});
Run Code Online (Sandbox Code Playgroud)
对话框关闭时
这有效,但是当删除滚动条时,后面的内容会向右移动,结果不太好.
我尝试了另一种方法,通过创建一个css类"noscroll",如下:
body.noscroll
{
position: fixed;
overflow-y: scroll;
width: 100%;
}
Run Code Online (Sandbox Code Playgroud)
然后,而不是以前的js代码,我在对话框打开/关闭时添加并删除此类到正文.
现在这适用于滚动条,后面的内容不会向右移动,但使用此方法后面的内容会返回到顶部.
因此,基本上,method1使内容向右移动,而method2使内容移回到顶部.
有谁知道这方面的解决方案?对话框打开时没有滚动后面的内容,禁用滚动时没有移动...?