我已经在jQuery中使用函数创建了自定义选项卡。这是我的自定义标签:
<div class="row">
<div class="col-4 master-advanced-left-tab master-advanced-left-tab-active">
<p>Item 1</p>
</div>
<div class="col-4 master-advanced-left-tab">
<p>Item 2</p>
</div>
<div class="col-4 master-advanced-left-tab">
<p>Item 3</p>
</div>
</div>
<div class="item1">
Show content from item 1
</div>
<div class="item2">
Show content from item 2
</div>
<div class="item3">
Show content from item 3
</div>
字符串
这是我用标签做的自定义样式:
.master-advanced-left-tab {
overflow: hidden;
cursor: pointer;
padding-bottom: 10px;
padding-top: 10px;
}
.master-advanced-left-tab > p {
text-overflow: ellipsis;
height: 20px;
}
.master-advanced-left-tab-active {
color: #1C72DF;
border-bottom: 3px #1C72DF solid;
}
型
这是我的功能,以激活标签(工作)
$('.master-advanced-left-tab').removeClass('master-advanced-left-tab-active');
elem.addClass('master-advanced-left-tab-active');
switch (elem.data('id')) {
case 'item1':
//show div for item1
break;
case 'item2':
//show div for item2
break;
default:
}
型
当我从选项卡切换时,我想显示类中的内容。我尝试了jQuery中的toggle()
函数。我也看了这篇stackoverflow的文章:
Bootstrap tab activation with JQuery
这是我想要的,但它不适用于我的解决方案,因为我不使用 Bootstrap 的导航选项卡。
如何显示每个导航选项卡中的内容?
5条答案
按热度按时间jtw3ybtb1#
要显示内容,您只需在上面调用
show()
。您还可以通过将可单击的div
元素转换为a
并使用href
属性来定位要显示的内容,从而使逻辑更加DRY和可扩展。这就省去了编写无休止的if
条件或switch
案例的麻烦,因为它可以处理无限多的选项卡。这也意味着,如果需要,您可以在页面通过URL片段加载时打开选项卡。试试这个:ct3nt3jp2#
hide
和show
的方法可以用于此目的,希望这有帮助kyxcudwk3#
你可以看到我的代码:
字符串
Css:添加更多的一些行:
型
然后JS:
型
这是一个demo:https://codepen.io/phuongnm153/pen/vYBXBGM
31moq8wy4#
除了swith,你还可以使用一些更有响应性的东西,像这样:
mfpqipee5#
查看我的此自定义页签视图