gpt4 book ai didi

jquery - 如何使子菜单像下拉菜单一样显示第一个值,如选择

转载 作者:太空宇宙 更新时间:2023-11-03 17:40:55 24 4
gpt4 key购买 nike

<nav class="navbar navbar-default">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#main-nav">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">ADEX</a>
</div>
<div class="collapse navbar-collapse" id="main-nav">
<ul class="nav navbar-nav nav-page">
<li class="dropdown">
<a href="#">Home</a>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#one">About</a>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#two">Programmes</a>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#three">Info</a>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#four">Travel</a>
</li>

</ul>
</div>
</div>
<div class="sub-nav"></div>
</div>
</nav>
<nav class="submenu">
<div class="container">

<ul class="nav nav-justified">
<li>
<ul class="nav nav-justified collapse" id="one">
<li class="active"><a href="#">2015</a></li>
<li class="active"><a href="#">About Mission</a></li>
<li><a href="#">History</a></li>
</ul>
</li>
<li>
<ul class="nav nav-justified collapse" id="two">
<li><a href="#">A</a></li>
<li><a href="#">B</a></li>
<li><a href="#">C</a></li>
<li><a href="#">D</a></li>
</ul>
</li>
<li>
<ul class="nav nav-justified collapse" id="three">
<li><a href="#">E</a></li>
<li><a href="#">F</a></li>
</ul>
</li>
<li>
<ul class="nav nav-justified collapse" id="four">
<li><a href="#">G</a></li>
<li><a href="#">H</a></li>
</ul>
</li>
</ul>
</div>
</nav>

CSS

.submenu{
background: #404040;
margin-bottom: 20px;
height: 67px;
padding: 15px;
}

.nav-justified > li > a{
display: inline-block;
color: #fff;
float: left;
font-weight: 300;
letter-spacing: 1px;
padding: 10px;
white-space: nowrap;
}


.collapsing {
display:none;
}

.nav-justified .active:before {
content: '';
width: 0px;
height: 0px;
display: inline-block;
vertical-align: middle;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-bottom: 10px solid #f9f9f9;
position: absolute;
top: 42px;
right: 0;
left: 0;
bottom: 0;
margin: 0 auto;
}

.nav-justified > li > a:hover,
.nav-justified > li > a:focus{
background-color: transparent;
color: #333;
}

.navbar-brand{
display: none;
}
@media (max-width: 768px){
.navbar-brand{
display: block;
}
}

.navbar{
background: #F1F1F1!important;
border: 0!important;
margin-bottom: 0;
}

.navbar-nav > li > a{
color: #000!important;
font-weight: 300;
letter-spacing: 2px;
}

@media (min-width: 768px){
.navbar-nav > li > a {
padding-top: 30px;
padding-bottom: 30px;
}
}

.navbar-nav > li:hover > a{
border-top: 7px solid #0083A0;
border-bottom: 7px solid #0083A0;
padding-top: 23px;
padding-bottom: 23px;
}

.nav-page > li > a{
padding: 0;
}

.nav-page > li{
padding: 30px 15px;
}

.nav-page > li:hover{
padding: 0 15px }

查询

$('.collapse').on('shown.bs.collapse', function (e) {
$('.collapse').not(this).removeClass('in');
});

$('[data-toggle=collapse]').click(function (e) {
$('[data-toggle=collapse]').parent('li').removeClass('active');
$(this).parent('li').toggleClass('active');
var text = $(this).text();
$('.navbar-brand').html(text);
});

JSFiddle Demo

Screenshot example

无法通过折叠关闭和展开打开子菜单下拉菜单。

屏幕截图显示了一个带有列表的主导航,子菜单下拉列表将自动从主导航“填充”子菜单列表。第一个将在下拉菜单中显示“A”,然后它将使用户能够单击向下箭头以查看“程序”下的完整子菜单列表。

  1. 如何使子菜单类似于下拉选择?

  2. 如何让子菜单显示第一个文本?例如,子菜单列表有A、B、C、D。所以应该先显示A。然后用户单击向下箭头以查看更多子菜单列表 - A B C D。

感谢任何帮助。

Show you better example of what I am looking for

这是我正在寻找的示例。

主导航应该在自己的栏中,子菜单导航应该在自己的栏中,无论是桌面还是移动。

然后在移动屏幕上,子菜单导航应该充当下拉菜单。它将显示主导航中所选列表的列表

最佳答案

Here is the updated fiddle.

我更改了层次结构,使 子菜单 与主菜单正确对齐。如果不更改层次结构,则使用纯 CSS 对齐是不可能的。

我使用了一些 JavaScript 来实现切换,直到我找到了 data-toggle。所以没有 JavaScript ^.^

我在下拉列表中使用了一个 select 标签,它工作正常但不能自定义。有一种解决方法可以更改箭头。引用this发布说明。

我对你的 fiddle 的改动如下

CSS:

div.sub_menu {
display: none;
position:absolute;
bottom: -50px;
min-width: 100%;
}

div.sub_menu.in {
display: block;
}

div.sub_menu > select {
background: #404040!important;
min-width: 100%;
color: white;
height: 50px;
font-size: 24px;
}

HTML:

<ul class="nav navbar-nav nav-page">
<li class="dropdown">
<a href="#">Home</a>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#one">About</a>
<div class="sub_menu nav nav-justified collapse" id="one">
<select>
<option value="2015">2015</option>
<option value="Mission">Mission</option>
<option value="History">History</option>
</select>
</div>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#two">Programmes</a>
<div class="sub_menu nav nav-justified collapse" id="two">
<select>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
</div>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#three">Info</a>
<div class="sub_menu nav nav-justified collapse" id="three">
<select>
<option value="E">E</option>
<option value="F">F</option>
</select>
</div>
</li>
<li class="dropdown">
<a href="#" data-toggle="collapse" data-target="#four">Travel</a>
<div class="sub_menu nav nav-justified collapse" id="four">
<select>
<option value="G">G</option>
<option value="H">H</option>
</select>
</div>
</li>
</ul>

关于jquery - 如何使子菜单像下拉菜单一样显示第一个值,如选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29118393/

24 4 0