gpt4 book ai didi

显示先前选项卡内容的 JQuery 选项卡

转载 作者:行者123 更新时间:2023-12-01 08:40:09 24 4
gpt4 key购买 nike

当我单击选项卡 2 时,它会与选项卡 1 一起显示内容。我尝试使用 prev() 隐藏前一个元素。但它隐藏了整个选项卡菜单,而且事件选项卡也没有改变颜色。我已附上下面的 jsfiddle 链接 https://jsfiddle.net/nn9bqpsn/1/

<div class="Tabs">
<ul>
<li id="tab1" class="Active">Tab 1</li>
<li id="tab2">Tab 2</li>
<li id="tab3">Tab 3</li>
</ul>
</div>

<div id="tab1-content" class="Tab" style="display:none">
<p>Tab 1 Content</p>
</div>

<div id="tab2-content" class="Tab" style="display:none">
<p>Tab 2 Content</p>
</div>

<div id="tab3-content" class="Tab" style="display:none">
<p>Tab 3 Content</p>
</div>
<script>
$(document).ready(function () {
if ($('li #tab1 .active')) {
$('#tab1-content').show();
}
});

$('#tab1').click(function () {
$('#tab1-content').prev().hide();
$('#tab1-content').show();
});

$('#tab2').click(function () {
$('#tab2-content').prev().hide();
$('#tab2-content').show();

});

$('#tab3').click(function () {
$('#tab3-content').prev().hide();
$('#tab3-content').show();

});
</script>

我也尝试过使用带有 href 的 anchor 标记,但仍然不起作用。附在使用 href https://jsfiddle.net/cL42g4sb/ 的选项卡的 jsfiddle 下方

最佳答案

这是我采取的较长路线的数千个解决方案之一,但希望它能更好地解释功能。

工作中的 jsFiddle: Fiddle

 $(document).ready(function () {
//Hide all Tabs on laod
$('.Tab').hide();

//Check which tab is active
var activeOnLoad = $('.Tabs ul li.Active').attr("id");
$('#'+activeOnLoad+'-content').show();

//Handle click event
$('.Tabs ul li').on('click', function(e){
e.preventDefault();

//Save clicked element to variable
var clickedTab = $(this).attr("id");

//Remove class from old tab
$(this).parent().find('.Active').removeClass('Active');
//Add Active class to clicked tab
$(this).addClass('Active');

//Hide all Tab elements
$('.Tab').hide();

//Show clicked Tab
$('#'+clickedTab+'-content').show();
});
});

更新 OP 的新代码:

 $(document).ready(function () {
//Hide all Tabs on laod
$('.Tab').hide();

//Check which tab is active
var activeOnLoad = $('.Tabs ul li a.Active').attr("href");
$(activeOnLoad).show();

//Handle click event
$('.Tabs ul li a').on('click', function(e){
e.preventDefault();

//Save clicked element to variable
var clickedTab = $(this).attr("href");

//Remove class from old tab
$(this).parents('ul').find('.Active').removeClass('Active');
//Add Active class to clicked tab
$(this).addClass('Active');

//Hide all Tab elements
$('.Tab').hide();

//Show clicked Tab
$(clickedTab).show();
});
});

jsFiddle:jsFiddle

关于显示先前选项卡内容的 JQuery 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48271568/

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