gpt4 book ai didi

将下拉子菜单保留在屏幕内的 jQuery 解决方案

转载 作者:行者123 更新时间:2023-11-30 23:59:52 27 4
gpt4 key购买 nike

我正在使用 bootstrap 作为我的下拉菜单。但有一个问题,

如果我的下拉菜单有多级子菜单,那么它会显示在屏幕上,并出现底部滚动条。

如何将子菜单保留在屏幕内,我需要一个 jQuery 解决方案。

检查我的屏幕截图

dropdown

<小时/>

这里是 Playground :

http://jsfiddle.net/howtoplease/svLKN/

<小时/>

这是下拉 HTML

<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<div class="nav-collapse">
<ul class="nav">
<li class="active"><a href="#">Home</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" href="#">Dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li>
<a href="#">2-level Dropdown <i class="icon-arrow-right"></i></a>
<ul class="dropdown-menu sub-menu">
<li><a href="#">Action</a></li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="nav-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
<li><a href="#">Another action</a></li>
<li><a href="#">Something else here</a></li>
<li class="divider"></li>
<li class="nav-header">Nav header</li>
<li><a href="#">Separated link</a></li>
<li><a href="#">One more separated link</a></li>
</ul>
</li>
</ul>
</div><!-- /.nav-collapse -->
</div>
</div>
</div>

最佳答案

这样怎么样:它检查子菜单是否会溢出,并根据子菜单的宽度修改其位置,使其位于另一侧

$('.sub-menu').parent().hover(function() {
var menu = $(this).find("ul");
var menupos = $(menu).offset();

if (menupos.left + menu.width() > $(window).width()) {
var newpos = -$(menu).width();
menu.css({ left: newpos });
}
});

http://jsfiddle.net/svLKN/4/

关于将下拉子菜单保留在屏幕内的 jQuery 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17985334/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com