Javascript 如何检测溢出的HTML元素

Javascript 如何检测溢出的HTML元素,javascript,jquery,html,css,typescript,Javascript,Jquery,Html,Css,Typescript,我已经创建了一个带有div的导航栏 当我放大时,我通过css[overflow:hidden]隐藏div从导航栏中移出 我的目标是创建一个java脚本变量,该变量将告诉我导航栏外的所有div都是什么(由于溢出而隐藏),因为我需要将它们添加到可折叠菜单中,即使只有一个div不在导航栏内,该菜单也会出现 提前感谢将scrollWidth/scrollHeight与元素的clientWidth/clientHeight进行比较 if (e.scrollWidth > e.clientWidth)

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

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

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


提前感谢

将scrollWidth/scrollHeight与元素的clientWidth/clientHeight进行比较

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

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

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)
}
document.body.onresize=function(){
var tR=[];
var tL=document.querySelectorAll('div');
对于(var i=0,j=tL.length;i tL[i].clientWidth)tR.push(tL[i])
//对tR元件执行任何需要的操作(溢出)
}

好的,但是你能告诉我,我如何检测它何时发生变化,或者放大时生成的事件?我们谈论的是什么样的放大(动作和设备|定制)?我不知道在该动作上触发了任何特定的跨浏览器事件。有很多方法可以检测到它,但这可能是另一个问题/主题。@Pinturikkio document.body.onresize适用于现代浏览器(Chrome&IE9+),只是说你是否感兴趣。欢迎你。如果你在这个话题上没有其他问题,请随意接受答案,这样其他人就会看到你的案子得到了解决。