如何得知一个 HTML 元素出现了滚动条?

cosin0001 2005-03-17 09:56:27
以 SPAN 为例,设定一定的大小,设置 overflow:auto
然后用 JS 向内填入 文字,如果文字超出这个 SPAN 的大小,SPAN会自动产生滚动条,我想知道,怎么样可以知道,他什么时候产生了滚动条,最好是基于消息的
定时检测 span.clientHeight < span.scrollHeight 不行,我可能要监控的 HTML 元素很多,这个做法太耗资源了
...全文
511 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
LCKKING 2005-03-18
  • 打赏
  • 举报
回复
可以找一个解决方案,使得有没有滚动条对你的DIV没引响,这样就可以不去管有没有滚动条了~~
我已经做出来了,就是在div里面再嵌套一个DIV,外面这个DIV出现滚动条,里面的不管,如果你不会,我改天帖代码~~:)
cosin0001 2005-03-18
  • 打赏
  • 举报
回复
楼上没理解我的想法,我要的是完全替代系统自带的滚动条,在里面的内容没有超出显示范围时,不显示滚动条,超出后,自动缩减显示范围,显示 自己定义的滚动条(可以用图片)
vivianfdlpw 2005-03-17
  • 打赏
  • 举报
回复
clientHeight<scrollHeight时出现竖直滚动条
clientWidth<scrollWidth时出现水平滚动条
cosin0001 2005-03-17
  • 打赏
  • 举报
回复
正在找解决方案,css的scrollbar设置,太差了,图都不能用
cosin0001 2005-03-17
  • 打赏
  • 举报
回复
实现完全自定义 的滚动条,根据需要来显示,不是现在能看到的强制显示一个滚动条,哪怕内容没有超长也放在边上
mfkiqpl 2005-03-17
  • 打赏
  • 举报
回复
关注。。不知道楼主要这个功能做什么。。可否透露一下?
cosin0001 2005-03-17
  • 打赏
  • 举报
回复
<HTML>
<BODY>
<span id="spanText" style="width:100;height:100;overflow:auto;border:1px solid red"></span>
<script language="JScript">
function OnAddText()
{
if(document.all["spanText"].innerHTML.length > 60)
document.all["spanText"].innerHTML = "";
else
document.all["spanText"].innerHTML += "AAAA<br>";
setTimeout("OnAddText()",500);
}
OnAddText();
</script>
</BODY></HTML>

希望可以在滚动条出来的时候,能够收到消息来响应,不要每次都在函数调用里去用代码检测,这样如果操作这个 span 的代码段很多的话,非常的不方便。
cosin0001 2005-03-17
  • 打赏
  • 举报
回复
SPAN 的 event 里没有 onchange 我查了 msdn
cosin0001 2005-03-17
  • 打赏
  • 举报
回复
onpropertychange 我已经试过了,没法捕捉到
比如在 span 里面套了一个 table,改变了table里的文字,产生了 滚动条,span的onpropertychange里没有任何事件发生
flyskytoday 2005-03-17
  • 打赏
  • 举报
回复
换成onpropertychange 事件
即onpropertychange ="abc(this)"
flyskytoday 2005-03-17
  • 打赏
  • 举报
回复
那你把onclick="abc(this)"
换为onpropertychange onchange事件即可
即:onchange="abc(this)"
cosin0001 2005-03-17
  • 打赏
  • 举报
回复
楼上没有理解我的意思,我是用程序更改 span 里的内容,可能会引起span出现滚动条,希望一旦滚动条出现就能通过某种方式知道,而不是等我去 click span的时候再去检测
flyskytoday 2005-03-17
  • 打赏
  • 举报
回复
<span style="width:20px;overflow:auto;height:50" onclick="abc(this)">hsdfafasfsadfasdfsdafsdafsdaf</span>
<p></p>
<span style="width:20px;overflow:auto;height:50" onclick="abc(this)">h</span>
<script language="javascript">
<!--
function abc(wi)
{
var wid=wi.scrollWidth+"px";
var wdi=wi.style.width;
if(wdi>=wid)
alert("无横向滚动条")
else
alert("有横向滚动条")
}
//-->
</script>

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧