gpt4 book ai didi

javascript - 需要修改 jQuery

转载 作者:行者123 更新时间:2023-12-03 11:02:17 24 4
gpt4 key购买 nike

我正在尝试让一些选项卡的行为如图所示 here 。以下代码可以完成这项工作,但是单击 Tab2 后,Tab1 的内容仍然显示在右侧面板上,如果我单击 Tab2 上的项目/链接,它会显示在 Tab1 的内容下方。我需要一个适当的 onClick 事件,以便在单击另一个选项卡时清除前一个选项卡的内容。这是我的代码:

<script type="text/javascript">
function showTab(selected, total)
{
for(i = 1; i <= total; i += 1)
{
document.getElementById('tabs-' + i).style.display = 'none';
}

document.getElementById('tabs-' + selected).style.display = 'block';
}
</script>

<div id="tabs-1" style="display: none">Tab1 info 1 content</div>
<div id="tabs-2" style="display: none">Tab1 info 2 content</div>
<div id="tabs-3" style="display: none">Tab1 info 3 content</div>

<ul class="side bar tabs">
<li id = "tabs1" onclick = "showTab(1,3)">Tab1 info 1</li>
<li id = "tabs2" onclick = "showTab(2,3)">Tab1 info 2</li>
<li id = "tabs3" onclick = "showTab(3,3)">Tab1 info 3</li>
</ul>

感谢大家的帮助。

最佳答案

您可以使用 jQuery 使用 .siblings() 轻松完成此操作隐藏其他不活动的内容部分:

JS

$("ul.side.bar.tabs li").click(function(){
var grabName = $(this).attr("class");
$("#tab-"+grabName).show().siblings("div").hide();
});

HTML

<div id="tab-one" style="display: none">Tab1 info 1 content</div>
<div id="tab-two" style="display: none">Tab1 info 2 content</div>
<div id="tab-three" style="display: none">Tab1 info 3 content</div>

<ul class="side bar tabs">
<li class="one">Tab1 info 1</li>
<li class="two">Tab1 info 2</li>
<li class="three">Tab1 info 3</li>
</ul>

FIDDLE

请务必将代码包装在 <head></head> 中的就绪函数中部分:

<head>
//link to jquery

<script>
$(document).ready(function(){
$("ul.side.bar.tabs li").click(function(){
var grabName = $(this).attr("class");
$("#tab-"+grabName).show().siblings("div").hide();
});
});
</script>
</head>

关于javascript - 需要修改 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28029820/

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