javascript - 如何检测溢出的 HTML 元素

标签 javascript jquery html css typescript

我创建了一个带有 div 的导航栏。

当我放大时,我通过css [overflow:hidden]隐藏div移出导航栏。

我的目标是创建一个 java 脚本变量,它会告诉我所有 div 都在导航栏之外(由于溢出而隐藏),因为我需要将它们添加到可折叠菜单中,即使是单个 div 也会出现导航栏。

提前致谢

最佳答案

比较元素的 scrollWidth/scrollHeight 和 clientWidth/clientHeight。

if (e.scrollWidth > e.clientWidth){/*overflow*/}

https://jsfiddle.net/pdrk50a6/

编辑:我不知道你的根元素,但最终它会是这样的。

document.body.onresize = function(){
    var tR = [];
    var tL = document.querySelectorAll('div');

    for(var i=0, j=tL.length; i<j; i++)
        if (tL[i].scrollWidth > tL[i].clientWidth) tR.push(tL[i])

    //Do whatever you need with the tR elements (overflown)
}

关于javascript - 如何检测溢出的 HTML 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30803299/

相关文章:

javascript - 可调整大小的图像上的文本 div

javascript - 在 Woocommerce 订单接收页面中设置 Google 转化标记事件代码值

javascript - 对async/await求值细节的误解

javascript - onsubmit 按钮仅适用于 1 个功能

html - 可以使固定标题继承宽度属性

javascript - Angular ng-show 在简单的示例脚本中没有按预期工作

javascript - 代码返回未定义而不是返回值

javascript - Ajax 提交后的 Jquery 函数不起作用

javascript - html表格项中的搜索过滤器[表格数组是异构的]

html - 为什么添加第三个元素会破坏此 CSS 关键帧 slider ?