如何检查元素是否高于自身?

时间:2019-06-12 07:18:03

标签: javascript jquery

我正在尝试制作一个可折叠的子菜单,当没有足够的空间容纳所有项目时,会将溢出的项目放入Bootstrap样式的下拉菜单中。

我通过检查子菜单是否大于某个高度来做到这一点。如果它高于此设定高度,则认为它溢出了,因此需要运行它的功能。但是,我正在从事的项目无法真正设置元素的高度。这些可能会随着时间而改变,如果发生某些更改,遍历所有代码将是维护的噩梦。

那么如何检查元素的高度是否高于其自身的高度(我猜是“初始”)?

设置if(menuHeight >= menuHeight)将导致Maximum call stack size exceeded错误,并使Chrome中的标签页崩溃。

示例:

var CollapseMenu = {
    init: function(parent) {
        var menu = parent;
        var menuHeight = menu.height(); // Using jQuery here; vanilla JS could also work

        if(menuHeight >= 64) // This is the set height I want to avoid
            // ...
        } else {
            // ...
        }
    }
}

$(function() {
    var submenu = $('.submenu');

    if(submenu.length) {
        CollapseMenu.init($('.submenu ul'));
    }

    $(window).resize(function() {
        if(submenu.length) {
            CollapseMenu.init($('.submenu ul'));
        }
    });
});

0 个答案:

没有答案