gpt4 book ai didi

javascript - slideDown 菜单 - 添加更多级别的问题

转载 作者:行者123 更新时间:2023-11-28 08:27:26 26 4
gpt4 key购买 nike

我正在处理这个菜单...

最初,“level-2”会出现在“level-1”下方。我已经能够将它移到第二列,并始终保持在顶部。据我所知,它正在运行!

我遇到的问题是添加更多列,因为我至少需要另一个级别,可能是两个级别。

我想我已经处理了 HTML 部分(参见元素 2 - 元素 2-1 - 元素 2-1-1),现在的问题是脚本。我尝试复制当前版本,但无法使其正常工作...

任何帮助将不胜感激。谢谢

Fiddle

HTML:

<div class="wrapper">
<ul>
<li class="level-1"><a href="#">Item 1</a>
<ul class="level-2">
<li><a href="#">Item 1-1</a></li>
<li><a href="#">Item 1-2</a></li>
</ul>
</li>
<li class="level-1"><a href="#">Item 2</a>
<ul class="level-2">
<li><a href="#">Item 2-1</a>
<ul class="level-3">
<li><a href="#">Item 2-1-1</a></li>
</ul>
</li>
</ul>
</li>
<li class="level-1"><a href="#">Item 3</a>
<ul class="level-2">
<li><a href="#">Item 3-1</a></li>
<li><a href="#">Item 3-2</a></li>
<li><a href="#">Item 3-3</a></li>
</ul>
</li>
<li class="level-1"><a href="#">Item 4</a>
<ul class="level-2">
<li><a href="#">Item 4-1</a></li>
<li><a href="#">Item 4-2</a></li>
</ul>
</li>
</ul>
</div>

JS:

$('.level-2').hide();
$('.level-1').on('click', function(){
if(!($(this).children('.level-2').is(':visible'))){
$('.level-2').slideUp();
$(this).children('.level-2').slideDown();
} else {
$('.level-2').slideUp();
}
});
$('.level-2').on('click', function(e){
e.stopPropagation();
});

CSS:

body{
margin: 0px;
border: 0;
overflow: hidden;
}

ul {
list-style: none;
margin: 0;
padding: 0;
color: #000000;
}

ul li {
position: relative;
}

li ul {
position: absolute;
left: 120px;
top: 0;
display: none;
}

ul li a {
text-decoration: none;
color: #000000;
}

.level-1 {
position: relative;
top: 20px;
left: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
line-height: 15px;
letter-spacing: 0em;
text-transform: uppercase;
}

.level-2 {
position: fixed;
top: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
line-height: 15px;
letter-spacing: 0em;
text-transform: uppercase;
}

.level-3 {
position: fixed;
top: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
line-height: 15px;
letter-spacing: 0em;
text-transform: uppercase;
}

最佳答案

我已经更新了 CSS,请试试这个。它会帮助你。

body{
margin: 0px;
border: 0;
overflow: hidden;
}

ul {
list-style: none;
margin: 0;
padding: 0;
color: #000000;
}

ul li {
position: relative;
}

li ul {
position: absolute;
left: 120px;
top: 0px;
display: none;
}

ul li a {
text-decoration: none;
color: #000000;
}

.level-1 {
position: relative;
top: 20px;
left: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
line-height: 15px;
letter-spacing: 0em;
text-transform: uppercase;
background:#f5f5f5;
width:220px;
}

.level-2, .level-3 {
top: 20px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
font-weight: normal;
line-height: 15px;
letter-spacing: 0em;
text-transform: uppercase;
}

.level-1 > .level-2, .level-1 .level-2 > .level-3{position:absolute; right:10px; top:0px; left:220px; width:220px; background:#f8f8f8;}

谢谢

关于javascript - slideDown 菜单 - 添加更多级别的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28475128/

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