gpt4 book ai didi

javascript - jQuery 导航 - 需要定位和 Accordion 行为方面的帮助

转载 作者:行者123 更新时间:2023-12-02 20:14:31 25 4
gpt4 key购买 nike

此处的侧边栏导航:http://dev.southernlivingplants.com/in_the_garden需要一些细心呵护。

我正在尝试解决几个问题并且需要一些帮助:

  1. Accordion 操作工作正常,但单行项目链接(不支持 Accordion )无法正确链接到其页面。是什么阻止了这种情况?

  2. 打开 Accordion (如 The Collection)后,如果您将鼠标悬停在其下方的父链接上查找您的区域,它会突出显示其前面的整个部分。

  3. 有没有办法让某个部分在特定页面上保持打开状态?

这是代码:

HTML

<ul id="menu" class="menu noaccordion">
<li><a class="m1" href="#">the collection</a>
<ul>
<li><a href="http://dev.southernlivingplants.com/shrubs/">shrubs</a></li>
<li><a href="http://dev.southernlivingplants.com/groundcovers_grasses/">groundcovers/<br />grasses</a></li>

<li><a href="http://dev.southernlivingplants.com/trees/">trees</a></li>
<li><a href="http://dev.southernlivingplants.com/tropicals/">tropicals</a></li>
<li><a href="http://dev.southernlivingplants.com/fall_bulbs/">fall bulbs</a></li>
<li><a href="http://dev.southernlivingplants.com/spring_bulbs/">spring bulbs</a></li>
<li><a href="http://dev.southernlivingplants.com/annuals/">annuals</a></li>
<li><a href="http://dev.southernlivingplants.com/perennials/">perennials</a></li>

</ul>
</li>
<li><a class="m2" href="http://dev.southernlivingplants.com/find_your_zone">find your zone</a></li>
<li><a class="m3" href="#">in the garden</a>
<ul>
<li><a href="http://dev.southernlivingplants.com/care_tips/">care tips</a></li>
<li><a href="http://dev.southernlivingplants.com/color_guide/">color guide</a></li>

<li><a href="http://dev.southernlivingplants.com/common_pests/">common pests</a></li>
</ul>
</li>
<li><a class="m4" href="http://dev.southernlivingplants.com/where_to_buy">where to buy</a></li>
<li>
<a class="m5" href="#">about us</a>
<ul>
<li><a href="http://dev.southernlivingplants.com/history">history</a></li>
<li><a href="http://dev.southernlivingplants.com/media_room/">media room</a></li>
<li><a href="http://dev.southernlivingplants.com/events">events</a></li>
<li><a href="http://dev.southernlivingplants.com/botanical_gardens">botanical gardens</a></li>
<li><a href="http://dev.southernlivingplants.com/testimonials">testimonials</a></li>
</ul>
</li>
<li><a class="m6" href="http://dev.southernlivingplants.com/video/">plant videos</a></li>
<li><a class="m7" href="http://dev.southernlivingplants.com/contact_us">contact us</a></li>
</ul>

Javascript:

function initMenus() {
$('ul.menu ul').hide();
$.each($('ul.menu'), function(){
$('#' + this.id + '.expandfirst ul:first').show();
});
$('ul.menu li a').click(
function() {
var checkElement = $(this).next();
var parent = this.parentNode.parentNode.id;

if($('#' + parent).hasClass('noaccordion')) {
$(this).next().slideToggle('normal');
return false;
}
if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
if($('#' + parent).hasClass('collapsible')) {
$('#' + parent + ' ul:visible').slideUp('normal');
}
return false;
}
if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
$('#' + parent + ' ul:visible').slideUp('normal');
checkElement.slideDown('normal');
return false;
}
}
);
}
$(document).ready(function() {initMenus();});

CSS:

ul.menu, ul.menu ul {
list-style-type:none;
margin: 0;
padding: 0;
width: 10em;
float: left;

}

ul.menu a {
display: block;
text-decoration: none;
font-size: 15px;
color: #54301A;
}

ul.menu li {
margin-top: 1px;
border-bottom: 1px solid #54301A;
}

ul.menu li a {
/* background: #f8f2e3; */
color: #000;
padding: 0.5em;
}

ul.menu li a:hover {
background: #f8f2e3;
}

ul.menu li ul li {
border-bottom: 1px dotted #54301A;
}

ul.menu li ul li a {
/* background: #f8f2e3; */
color: #000;
padding-left: 15px;
}

ul.menu li ul li a:hover {
background: #f8f2e3;
/* border-left: 5px #000 solid; */
padding-left: 15px;
}

谢谢!

最佳答案

http://jsfiddle.net/JVwTB/

  • 删除了第三个 if block ,并返回 false;

  • > 添加到您的一些 CSS 规则

关于javascript - jQuery 导航 - 需要定位和 Accordion 行为方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6508327/

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