检测滚动条的存在
Detect presence of scrollbar
当正文为空时,不需要滚动条,但如果正文内容已满,则滚动条是必需的。我怎么知道滚动条是否存在,没有任何JavaScript库,如jQuery?
我尝试动态更改我的页面。问题是我必须使用滚动条调整我的布局。谢谢!
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta content="width=device-width, initial-scale=1.0, user-scalable=no" name="viewport" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>
</title>
<style type="text/css">
body
{
margin:0px;
padding:0px;
border:0px;
/* border-color:#FEFEFE;*/
/* background-image:url(bg.png);*/
background-repeat: repeat;
display:block;
z-index:-9999;
width:100%;
height:100%;
left:0px;
top:0px;
}
div
{
background-color:#a0a0a0;
position:absolute;
left:0px;
top:0px;
width:100%;
height:100%;
display:block;
z-index:-8888;
}
</style>
</head>
<body id="body">
<div id="bg">
<span id="s1">
test
</span>
</div>
</body>
<script type="text/javascript">
(function (d) {
setInterval(function () {
w = d.body.clientWidth;
h = window.innerHeight;
document.title = w + " : " + h;
}, 1);
})(document)
</script>
</html>
你不需要处理任何东西。只需将 css overflow
属性设置为您的元素,当内容大小大于容器大小时,将显示滚动条:
.CSS
div {
overflow: auto;
}
滚动条的存在只能通过使用 JavaScript 来检测。但是,在您的情况下,您可以只使用 CSS 并让浏览器确定是否需要滚动条。这可以通过控制 CSS "溢出"属性来完成;
html, body, .myClass
{
Overflow:scroll; #example scroll always on
Overflow:auto; #example browser decides if needed
Overflow:hidden; #example hide the additional content
}
相关文章:
- CSS-若窗口太小,滚动条会出现在“表格”单元格上
- 禁用(而不是隐藏)浏览器滚动条
- 在firefox和chrome中的左侧显示iframe滚动条
- jquery:将动画绑定到滚动条位置的更好方法
- 在窗口中添加滚动条
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 使用没有插件的javascript自定义滚动条
- CodeMirror.禁用垂直滚动条
- 在滚动时,在隐藏滚动条和隐藏溢出的同时触发事件
- 可以'无法使滚动条正常工作
- 强制滚动条覆盖页面内容
- 如何隐藏滚动条,但希望它继续工作
- 滚动所有嵌套的滚动条,使HTML元素进入视图
- 使用浏览器滚动条而不是iframe滚动条
- 拖放区中可拖动的 Jqueryui 不会滚动,会恢复,滚动条存在
- 是否有任何跨浏览器方法可以获取带有滚动条的 DIV 宽度(如果存在)
- 如何在 Firefox 上使用 Selenium IDE 来测试是否存在滚动条
- 检测滚动条的存在
- 修改FireFox扩展:如果(滚动条存在)var-30,否则var-14
- 如何检测浏览器窗口中是否存在滚动条