想象一个带有元素的网站 该网站想要运行一些JS,它将用随机文本填充div,当div满了它应该清除并重新开始。是的,我知道这听起来很奇怪,但问题是,JS怎么知道div何时满了,并且会开始溢出?
'full',我的意思是不再有可见的文字放在div中。我想这是一个滚动条将启用/可见的点。
答案 0 :(得分:4)
你可以做的是在内部div中实际拥有文本,它具有与容器相同的固定宽度,但没有固定的高度。然后让内部div随其内容增长,并检查其高度是否接近父div的固定高度
答案 1 :(得分:2)
您可以将div的实际高度与该div的CSS中定义的高度进行比较,以查看实际高度是否更大 - 因此是'溢出'。
if(document.getElementById('div').offsetHeight >
document.getElementById('div').style.height) {
//do something
}
答案 2 :(得分:0)
您无法判断任何更多文本是否会导致溢出...也许文本只是一个小i
,甚至是零宽度空间的加载。您所能做的就是添加文本,然后查看它是否会溢出。
var hasoverflowed= div.offsetHeight<div.scrollHeight;
// more or less... modulo borders
答案 3 :(得分:0)
假设您的div是固定高度,请设置overflow:hidden
并检查div.scrollHeight
属性。
if(myDiv.scrollHeight > myDiv.offsetHeight) { /* the div is full */ }
else { /* there is room left */ }
答案 4 :(得分:-2)
通过计算div中的字符,您应该能够非常接近。如果你正在打字,你可能需要在keyUp上执行此操作,或者如果没有通过键入来填充其他事件,则可能需要这样做。