gpt4 book ai didi

javascript - 通过 url 打开 jQuery Accordion 选项卡

转载 作者:行者123 更新时间:2023-11-28 20:47:50 25 4
gpt4 key购买 nike

我正在使用简单的 jQuery Accordion ,当我单击带有指向选项卡 HMTL 元素 ID 的 anchor 的 URL 时,我想打开选项卡。

真实世界场景:我有一个 URL 为 www.domain.com/index.php&something#sometabid 的导航链接。如果我单击该链接,我将被重定向到具有该 URL 的页面,页面滚动到 CSS id sometabid 的折叠选项卡。在这一点上,我想打开这个 Accordion 选项卡,默认状态是关闭的。

代码:

<!DOCTYPE html>
<html>
<head>
<style>
body {
padding: 20px
}
h4.open-close {
background: #f5f5f5;
border: 1px solid #DDD;
border-radius: 5px;
box-shadow: 0 1px 0 white inset;
margin-bottom: 10px;
padding: 7px;
}
.desc {
overflow: hidden;
padding-bottom: 10px;
padding-top: 0;
}
</style>

<script type="text/javascript">
$('.desc').hide();
$('h4.open-close').click(function (evt) {
evt.preventDefault();
if ($(this).is('.current')) {
$(this).removeClass('current');
$(this).next('.desc').slideUp(400);
} else {
$('.desc').slideUp(400);
$('h4.open-close').removeClass('current');
$(this).addClass('current');
$(this).next('.desc').slideDown(400);
}
});​
</script>
</head>
<body>
<h4 id="sometabid1" class="open-close">
<a href="#">Urniki</a>
</h4>
<div class="desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas a luctus mi. Sed non libero turpis. Donec mauris lorem, sollicitudin non facilisis in, fermentum vel tortor.</div>

<h4 id="sometabid2" class="open-close">
<a href="#">Dejavnosti</a>
</h4>
<div class="desc">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas a luctus mi. Sed non libero turpis. Donec mauris lorem, sollicitudin non facilisis in, fermentum vel tortor.</div>
</body>
</html>

jsfiddle link

我知道如果您使用 jQuery UI Accordion ,有一个解决方案,但我不想使用 jQuery UI,因为我更喜欢轻量级解决方案,而且这个附加功能一开始就没有计划。

预先感谢您的帮助。

最佳答案

首先获取哈希链接:

function getAnchor(url)
{
var index = url.lastIndexOf('#');
if (index != -1)
return url.substring(index);
}

并使用它来处理您的文档。

currentAnchor = getAnchor(location.href);
$("#" + currentAnchor).show();

或者类似的东西。

说明:

假设您位于 URL 中:

http://example.com/index.html#slide2

现在当您使用该功能时:

currentAnchor = getAnchor(location.href);

currentAnchor 将使用 slide2 作为值。假设你有这样的 Accordion :

<ul>
<li class="slide" id="slide1">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
<li class="slide" id="slide2">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
<li class="slide" id="slide3">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
<li class="slide" id="slide4">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
<li class="slide" id="slide5">Lorem ipsum dolor sit amet, consectetur adipisicing elit.</li>
</ul>

现在您可以这样转到正确的 Accordion :

$(currentAnchor).show();

就您而言,它将是:

    $('.desc').slideUp(400);
$('h4.open-close').removeClass('current');
$(currentAnchor).addClass('current');
$(currentAnchor).next('.desc').slideDown(400);

关于javascript - 通过 url 打开 jQuery Accordion 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13135738/

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