jquery - CSS 菜单子(monad)导航显示在折叠下方

标签 jquery css menubar

我有一个左侧的垂直 CSS 菜单,其中的子导航会弹出到右侧。

我的问题是最后一个菜单项有很多子导航,导致它们显示在窗口的折叠下方。

有没有办法用 CSS 或 jQuery 来检测是否会发生这种情况并相应地调整位置以便可以看到所有子菜单项?

这是我示例的链接(您可能需要调整窗口高度):

<!--demo is at following link-->

http://jsfiddle.net/otcq2ne0/

最佳答案

这是一个使用 jQuery 的更新:http://jsfiddle.net/otcq2ne0/1/

$('body').on('mouseenter mouseover', '.vmdrop', function() {
    var subNav = $('.vmenu-dropdown', this);

    if (subNav.length) {
        var pos = subNav[0].getBoundingClientRect();
        if (pos.bottom > window.innerHeight) {
            var threshold = pos.top;
            var buffer = 10;
            var diff = window.innerHeight - (pos.bottom + buffer);

            if (Math.abs(diff) > threshold) {
                diff = '-' + (threshold + buffer);
            }

            if (Math.abs(diff) > 0) {
                subNav.css({ top: diff + 'px' });
            }
        }
    }
});

关于jquery - CSS 菜单子(monad)导航显示在折叠下方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26407708/

相关文章:

JavaScript/jQuery : Check if two values are equal regardless of data type?

javascript - 停止传播不工作 Jquery

jquery - jsfiddle 创建未传输到网站

html - 格式化双列表

css - WebGL 演练,在 3D 场景中移动

javascript - 根据另一个值向文本框添加值

html - CSS:无法将圆 Angular 应用于自定义输入字段(在其他字段上工作)

xcode - 菜单栏仅显示应用程序名称 - OS X

java - 请求关注 JavaFX 阶段不会更改 macOS 左上角菜单栏标题

java - 菜单样式 CSS Java