我有一个DIV,里面有很多孩子的DIV。我想要的是类似于Firefox的标签,当你打开太多标签或主DIV宽度太小时,界面将检测溢出并在右侧显示一个按钮以列出所有隐藏标签。问题是我不知道从哪里开始寻求帮助。
答案 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的大小以确保它们满足您的要求。如果它们太大(或太多),那么你隐藏它们中的一些并用它的显示逻辑添加你的按钮。