用JavaScript检测水平div溢出?

时间:2009-11-22 13:38:02

标签: javascript html overflow detection

我有一个DIV,里面有很多孩子的DIV。我想要的是类似于Firefox的标签,当你打开太多标签或主DIV宽度太小时,界面将检测溢出并在右侧显示一个按钮以列出所有隐藏标签。问题是我不知道从哪里开始寻求帮助。

3 个答案:

答案 0 :(得分:5)

您的主要DIV设置为 overflow:hidden 吗?

如果是这样,您可以通过递增 scrollLeft 属性然后查询它以查看它是否已更改来测试其溢出需求:

function containsTooMuch(el) {
    var original = el.scrollLeft++;
    return el.scrollLeft-- > original;
}

答案 1 :(得分:4)

谷歌搜索出现了这个:

http://knitinr.blogspot.com/2008/08/javascript-warn-if-overflow.html

看起来不错,与框架无关。

但也许有人提出了一个解决方案,可以使用更少的代码。

哦,猜猜哪个热门的编码社区网站搞砸了Googe的结果

javascript detect overflow 

:)

答案 2 :(得分:2)

我的方法是从新DIV的添加方式开始。无论什么事件导致这种情况发生,我都会在运行脚本的文档中添加一个处理程序,该脚本检查各种DIV的大小以确保它们满足您的要求。如果它们太大(或太多),那么你隐藏它们中的一些并用它的显示逻辑添加你的按钮。