Jquery 如何设置每个下拉级别的宽度
我正在做菜单。 你可以在这里看到它: 关于这一点: 第三级菜单具有相同的类(下拉菜单),使菜单具有完全相同的宽度。所以我知道问题的原因,但不知道如何解决 我不能删除下拉菜单并给它们单独的类,因为bootstrap正在使用这个类 例如: 这让它看起来很奇怪,因为它在悬停时会发生变化 这是我的代码:Jquery 如何设置每个下拉级别的宽度,jquery,html,css,twitter-bootstrap-3,dotnetnuke,Jquery,Html,Css,Twitter Bootstrap 3,Dotnetnuke,我正在做菜单。 你可以在这里看到它: 关于这一点: 第三级菜单具有相同的类(下拉菜单),使菜单具有完全相同的宽度。所以我知道问题的原因,但不知道如何解决 我不能删除下拉菜单并给它们单独的类,因为bootstrap正在使用这个类 例如: 这让它看起来很奇怪,因为它在悬停时会发生变化 这是我的代码: <nav class="navbar navbar-default lumenisInnerMenu" role="navigation"> <div class="co
<nav class="navbar navbar-default lumenisInnerMenu" role="navigation">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target=".navbar-collapse" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse lumenisListItems">
<ul class="nav navbar-nav">
[*>NODE]
</ul>
</div>
</div>
</nav>
[>NODE]
<li class="[?SELECTED]dir current[/?][?NODE]dropdown-submenu HasChildren child[=DEPTH] dropdownmenu [/?]">
[?ENABLED]
<a [?!NODE] href="[=URL]" [/?] class="[?NODE]dropdown-toggle[/?]" data-toggle="dropdown">
<div class="textsubitem">
<span>[=TEXT]</span>
</div>
</a>
[?ELSE]
<a href="#" [?NODE] [/?]> [?NODE]
<span>[=TEXT]</span>[/?]
</a>
[/?]
[?NODE]
<ul class="dropdown-menu dropdown[=DEPTH]" id="[=ID]">
[*>NODE]
</ul>
[/?]
</li>
[/>]
搜索最宽的宽度并设置最大宽度。对于第二级下拉列表,使用class
dropdown0
,对于第三级下拉列表,使用classdropdown1
的固定宽度
这些类已经应用,因此您可以单独设置它们的样式。您可以共享一些CSS吗?你设计过吗?每个UL都有一个
下拉列表[=DEPTH]
类,所以第二级有dropdown0
,第三级有dropdown1
,使用它们你可以单独设计。没错,我已经做过了。但我不想将最大宽度设置为dropdown0或dropdown1。只要这两个下拉菜单有“下拉菜单”类,它就会自动调整宽度。由于类下拉菜单
,宽度会自动调整。现在,如果您不想使用dropdown0
或dropdown1
,那么您应该应用不同的类或使用在下拉元素上分配的动态ID。
if ($(window).width() > 960) {
var maxWidth = 0;
$('.dropdown0').each(function(){
var itemWidth = $(this).outerWidth(true);
maxWidth = Math.max(maxWidth, itemWidth) + "px";
$(".dropdown0 > li").css("max-width", maxWidth);
});
}