我正在努力用jquery实现一个标签系统(不是分页系统),它将像轮播一样工作
这是代码段:
<div class="tab">
<p>Tab 1</p>
</div>
<div class="tab">
<p>Tab 2</p>
</div>
<div class="tab">
<p>Tab 3</p>
</div>
<div class="tab">
<p>Tab 4</p>
</div>
上面可能有尽可能多的来自后端的数据,不仅有4个标签。
例如, 页面加载后,
网络将在下面显示此内容
tab 1 | tab 2
所以,如果我点击tab 2
它应该显示如下:
tab 2 tab 3
,然后单击tab 3
它应该显示如下:
tab 3 tab 4
所以,如果我点击tab 4
它应该显示
tab 4 tab 5
同样,每个下一个制表符都应具有相同的行为。
有人可以帮我用jquery完成它吗?
我尝试了很多,但是每次尝试都失败了
答案 0 :(得分:2)
您可以尝试一下:每次点击都会显示下一个标签。如果您也想进行反向遍历,请告诉我。
$(document).ready(function () {
const tabs = $("#tabs");
// To show first two tabs
$(tabs).children(".tab").slice(0, 2).show();
$(".tab").click(function () {
if ($(this).is(":first-child") || $(this).is(":last-child")) {
return false;
}
// If you want to swtich tabs back
if (!$(this).prev().is(":visible")) {
$(this).next().css("display", "none");
$(this).prev().css("display", "block");
return;
}
$(this).prev().css("display", "none");
$(this).next().css("display", "block");
});
});
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<style>
.tab {
display: none;
}
</style>
<div id="tabs">
<div class="tab">
<p>Tab 1</p>
</div>
<div class="tab">
<p>Tab 2</p>
</div>
<div class="tab">
<p>Tab 3</p>
</div>
<div class="tab">
<p>Tab 4</p>
</div>
</div>
</body>
</html>