日期:2014-05-16  浏览次数:20395 次

div的scrollTop始终是0
想做一个文字滚动 用到了scrollTop这个属性

可是 chrome下 获取一个div的scrollTop属性始终为0 而且无法修改它的值

网上查了一下 都是解决document.body.scrollTop的办法 

怎么就没有解决一个div的scrollTop 的方法呢



说明 div的内容高度高于div的高的
div的样式 加了overflow:hidden;属性

如何获取chrome下 div的scrolltop的值呢??

------解决方案--------------------
给个默认值好了
var _top=obj.scrollTop||0;
------解决方案--------------------
HTML code
<!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 http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style>
div{ margin:0;padding:0;}
</style>
</head>
<body>
<input type="text" id="txt" size="20" />
<div id="div" style="width:100px; height:100px; border:1px solid #000; overflow:hidden;">
 <div style="width:100%; height:500px;" id="inner"></div>
</div>
<script type="text/javascript">
var div = document.getElementById( 'div' );
var inner = document.getElementById( 'inner' );
div.scrollTop = 100;
alert(div.scrollTop)
</script>
</body>
</html>

------解决方案--------------------
scrollTop表示对象最顶端和窗口中可见内容的最顶端之间的距离,如果你的内容最顶端总是可见的,得到的值就为0.如果你修改scrollTop的值,你就会发现可见内容变了.这个是可修改的,可能你取值的方式不对吧.
------解决方案--------------------
var scrollTop = document.body.scrollTop | document.documentElement.scrollTop;
------解决方案--------------------
本来就是0啊 如果你DIV没有超出的部分 没有滚动条 就是0
------解决方案--------------------
div的样式 加了overflow:hidden;属性

超出部分就隐去?都不可见了,哪来的滚动条?