【问题标题】:Detecting horizontal div overflow with JavaScript?用 JavaScript 检测水平 div 溢出?
【发布时间】:2010-10-06 05:50:19
【问题描述】:

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

【问题讨论】:

    标签: javascript html overflow detection


    【解决方案1】:

    您的主 DIV 是否设置为 overflow:hidden

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

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

    【讨论】:

    • Jason,你有我可以查看的测试页吗?
    • 如果 jQuery 这里有一个更棒的答案: if ($('#div-id')[0].scrollWidth > $('#div-id').width()) { / /文本已溢出 } ~stackoverflow.com/questions/6406843/…
    【解决方案2】:

    谷歌搜索发现:

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

    看起来不错且独立于框架。

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

    哦,猜猜哪个流行的编码社区网站搞砸了谷歌搜索结果

    javascript detect overflow 
    

    :)

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-09-25
        • 1970-01-01
        • 1970-01-01
        • 2015-01-14
        • 2021-12-12
        • 1970-01-01
        相关资源
        最近更新 更多