gpt4 book ai didi

javascript - 如何关闭其他子菜单并在菜单中搜索?

转载 作者:搜寻专家 更新时间:2023-10-31 08:54:14 24 4
gpt4 key购买 nike

打开子菜单时,应关闭当前菜单以外的所有子菜单。

我希望搜索出现在文本框上并打开所有包含该值的元素并更改 <a> 的颜色

我写了这段代码:

$(document).ready(function(){
$("#navigation").click(function () {

$(this).next().slideToggle();

});

$("#main-menu>ul>li a ").click(function () {

$(".submenu").slideUp();
$(this).next().slideToggle();

});
$("#main-menu>ul>li>a ").click(function(){
//$(this).toggleClass("current");

});

});
@font-face {
font-family: 'casa';
src: url('Fonts/Mj_Casablanca.eot?#') format('eot'), url('Fonts/Mj_Casablanca.woff') format('woff'), url('Fonts/Mj_Casablanca.ttf') format('truetype');
}
body
{
background:#eee;
font:normal 12px casa;
}
a
{
text-decoration:none;
}
li
{
list-style:none;
}
#main-menu li
{
text-align:right;
direction:rtl;
padding:0 2%;
}

#main-menu>ul>li >a:hover
{
background:#575757 url("../img/arrow.png") no-repeat 10px 10px;
}


#menu-search
{
background-color: transparent;
border:none;
width:80%;
text-align:right;
direction:rtl;
color: #eee;
line-height: 30px;
padding: 5px 10%;

}
input[type="text"]
{
font:normal 12px tahoma;
}
.submenu
{
display:none;
}
.current
{
color:orange !important;
}

.submenu li a
{
color:#eee !important;
padding-right:10% !important;
}
#main-menu>ul> li >a
{
border-top: 1px solid #5C5C5C !important;
}

#main-menu
{
width:230px;
background:#303030;
height:auto;
float:right;
/*max-height:400px;*/
overflow: visible !important;
padding:5px 0;

}

#main-menu>ul
{
display:block !important;
}
#main-menu>ul>li >a
{
background: url("../img/arrow.png") no-repeat 10px 10px;
}
#main-menu li a {
color:#fff;

display: block;
padding: 10px 10%;

}

#navigation
{
display:none;
}
.submenu
{
display:none;
}
#footer
{
min-height: 40px;
width: 100%;

clear: both;

background: #5C5C5C;

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<div id="main-menu">
<a href="#" id="navigation">Menu</a>
<ul>
<li>
<input type="text" name="txt" id="menu-search" placeholder="Search..."/>
</li>
<li><a href="#">Items 1</a>
<ul class="submenu">
<li><a href="#">Item1</a>
<ul class="submenu">
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
<li><a href="#">Items 4</a>
</ul>
</li>
<li><a href="#">Items2</a>
<ul class="submenu">
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
<li><a href="#">Items 4</a>
</ul>
</li>
<li><a href="#">Items3</a></li>
</ul>
</li>
<li><a href="#">Items4</a>
<ul class="submenu">
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
</ul>
</li>
<li><a href="#">Items5</a>
<ul class="submenu">
<li><a href="#">Items 1</a>

<ul class="submenu">
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
</ul>
</li>
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
</ul>
</li>




</ul>
<div>
<div id="footer">
</div>

最佳答案

首先:将类 nested 添加到内部子菜单。并将此样式添加到类嵌套:

padding-right: 10%;

并使用这个 js:

    $(document).ready(function(){

$('#main-menu ul li a').on('click', function (e) {$('#main-menu ul li a').removeClass("current");$(this).toggleClass("current");$(this).next().slideToggle();
$(this).parent().siblings('li').find('ul').hide();
e.stopPropagation();
});

});
@font-face {
font-family: 'casa';
src: url('Fonts/Mj_Casablanca.eot?#') format('eot'), url('Fonts/Mj_Casablanca.woff') format('woff'), url('Fonts/Mj_Casablanca.ttf') format('truetype');
}
body
{
background:#eee;
font:normal 12px casa;
}
a
{
text-decoration:none;
}
li
{
list-style:none;
}
#main-menu li
{
text-align:right;
direction:rtl;
padding:0 2%;
}

#main-menu>ul>li >a:hover
{
background:#575757 url("../img/arrow.png") no-repeat 10px 10px;
}


#menu-search
{
background-color: transparent;
border:none;
width:80%;
text-align:right;
direction:rtl;
color: #eee;
line-height: 30px;
padding: 5px 10%;

}
input[type="text"]
{
font:normal 12px tahoma;
}
.submenu
{
display:none;
}
.current
{
color:orange !important;
}

.submenu li a
{
color:#eee !important;
padding-right:10% !important;
}
#main-menu>ul> li >a
{
border-top: 1px solid #5C5C5C !important;
}

#main-menu
{
width:230px;
background:#303030;
height:auto;
float:right;
/*max-height:400px;*/
overflow: visible !important;
padding:5px 0;

}

#main-menu>ul
{
display:block !important;
}
#main-menu>ul>li >a
{
background: url("../img/arrow.png") no-repeat 10px 10px;
}
#main-menu li a {
color:#fff;

display: block;
padding: 10px 10%;

}

#navigation
{
display:none;
}
.submenu
{
display:none;
}
#footer
{
min-height: 40px;
width: 100%;

clear: both;

background: #5C5C5C;

}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<div id="main-menu">
<a href="#" id="navigation">Menu</a>
<ul>
<li>
<input type="text" name="txt" id="menu-search" placeholder="Search..."/>
</li>
<li><a href="#">Items 1</a>
<ul class="submenu">
<li><a href="#">Item1</a>
<ul class="submenu nested ">
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
<li><a href="#">Items 4</a>
</ul>
</li>
<li><a href="#">Items2</a>
<ul class="submenu">
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
<li><a href="#">Items 4</a>
</ul>
</li>
<li><a href="#">Items3</a></li>
</ul>
</li>
<li><a href="#">Items4</a>
<ul class="submenu">
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
</ul>
</li>
<li><a href="#">Items5</a>
<ul class="submenu">
<li><a href="#">Items 1</a>

<ul class="submenu nested ">
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
</ul>
</li>
<li><a href="#">Items 1</a>
<li><a href="#">Items 2</a>
<li><a href="#">Items 3</a>
</ul>
</li>




</ul>
<div>
<div id="footer">
</div>

关于javascript - 如何关闭其他子菜单并在菜单中搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30442699/

24 4 0