【发布时间】:2018-03-15 13:51:07
【问题描述】:
简而言之,我有 2 个主要链接(私家车和商用车),每个链接都有一个特定的类附加到它们的 anchor 标签。在第二个 sublink ul 的 li 标记上使用相同的类名,以将它们与两个顶部链接匹配。这个想法是每次点击主链接时,都会发生以下情况:
- 子链接 ul 向上滑动
- 里面的所有li都隐藏了
- 显示了对应主链接类的li
- 子链接 ul 向下滑动,只显示正确的 li
不幸的是,这不是函数触发的顺序。会发生什么:
- 子链接 ul 向上滑动
- 子链接 ul 向下滑动
- 里面的所有列表元素都被隐藏了
- 相关列表元素向下滑动
知道如何让订单按我的意愿开火吗?
这里是代码
$('.insurer ul.toplinks a').click(function(e) {
e.preventDefault();
var sublinkCategory = $(this).attr('class'),
subLinksToShow = $(this).parent().parent().parent().find('li.' + sublinkCategory),
subLinksList = $(this).parent().parent().parent().find('ul.sublinks'),
allLinks = $(subLinksList).find('li');
// First time
if ($(subLinksList).is(":hidden")) {
$(subLinksToShow).slideDown();
$(subLinksList).slideDown();
// List visible but new links invisible
} else if ($(subLinksList).is(":visible") && $(subLinksToShow).is(":hidden")) {
$(subLinksList).slideUp(function() {
$(allLinks).hide(function() {
$(subLinksList).slideDown(function() {
$(subLinksToShow).slideDown();
});
});
});
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="toplinks">
<li><a href="#" class="privatecar">Private Car</a></li>
<li><a href="#" class="commercialvehicle">Commercial Vehicle</a></li>
</ul>
<ul class="sublinks">
<li class="privatecar"><a href="private/key-facts.pdf">Key Facts</a></li>
<li class="privatecar"><a href="private/policy-wording.pdf">Policy Wording</a></li>
<li class="commercialvehicle"><a href="commercial/key-facts.pdf">Key Facts</a></li>
<li class="commercialvehicle"><a href="commercial/policy-wording.pdf">Policy Wording</a></li>
</ul>
【问题讨论】:
标签: javascript jquery html slidedown slideup