无法使Jquery选项卡按需工作
Unable to get Jquery Tabs to work as wanted
我有一个选项卡式布局的页面,我希望它的工作方式是:
加载页面时,会有一个默认的开始面板。
当您单击某个选项卡时,它会加载与面板相关的内容,并明显隐藏起始面板。如果再次单击同一选项卡,它将隐藏与之相关的选项卡,并再次显示开始面板。
所以我本质上是在切换启动面板。例如,单击选项卡1,显示"面板1",再次单击"选项卡1",显示"开始面板"。单击选项卡2,选项卡2显示,单击选项卡3显示,但再次单击选项卡3,开始显示。。
我已经使用Jquery编写了一些javascript,它会单独切换选项卡,但如果例如我打开选项卡1的面板,然后单击选项卡2,它当然会加载开始面板,而不是所需的选项卡2面板。
这是我的代码,但我就是无法正确理解逻辑。
// when start tab is toggled visible hide all step panels
function showStartPageOnly() {
if ( $('#start').is(':visible') ) {
$('.table').addClass('hidden');
}
else {
$('.table').removeClass('hidden');
}
}
$(document).ready(function () {
// Stepped Panels
// Toggle start page when tab clicked
$( ".tab" ).click(function() {
$( "#start" ).toggle();
showStartPageOnly();
});
});
我在这里创建了一个包含完整HTML和JS的JSFiddle:https://jsfiddle.net/rzuq5qbh/3/
请有人就获得所需结果的正确逻辑提出建议好吗?
如果我理解你的意思,你只需要像我这样的选项卡导航。
JSFiddle:此处。
HTML:
<div class="tabs-triggers">
<div class="tab-trigger open" rel="tab1">Tab Title 1</div>
<div class="tab-trigger" rel="tab2">Tab Title 2</div>
<div class="tab-trigger" rel="tab3">Tab Title 3</div>
<div class="tab-trigger" rel="tab4">Tab Title 4</div>
</div>
<div class="tab-contents">
<div id="tab1" class="tab-content open">Lorem 1</div>
<div id="tab2" class="tab-content">Lorem 2</div>
<div id="tab3" class="tab-content">Lorem 3</div>
<div id="tab4" class="tab-content">Lorem 4</div>
</div>
CSS:
.tabs-triggers {
display: block;
}
.tabs-triggers::after {
content:"";
display: block;
clear: both;
}
.tab-trigger {
float: left;
padding: 10px;
}
.tab-trigger.open {
background: #ddd;
}
.tabs-contents {
width: 100%;
clear: both;
}
.tabs-contents::after {
content:"";
display: block;
clear: both;
}
.tab-content {
width: 100%;
clear: both;
display: none;
padding: 10px;
background: #ddd;
}
.tab-content.open {
display: block;
}
JS:
jQuery(document).ready(function(){
jQuery('.tab-trigger').on('click', function(){
var thisRel = jQuery(this).attr('rel');
if(jQuery(this).hasClass('open')){
jQuery('.tab-trigger').removeClass('open');
jQuery('.tab-content').removeClass('open');
jQuery('#start').addClass('open');
}else{
jQuery('.tab-trigger').removeClass('open');
jQuery(this).addClass('open');
jQuery('.tab-content').removeClass('open');
jQuery('#'+thisRel).addClass('open');
}
});
});
使用此解决方案,您可以按类在打开网站的定义默认选项卡上隐藏/显示或选择活动(在本例中为类打开)。祝你好运!:)
相关文章:
- 当我更改innerHtml时,引导选项卡事件不再工作
- 给出<选项>标记一个类?API调用不工作
- $localStorage array select with ng选项工作不正常
- Jquery选择选项并获取只工作一次的更改值(页面加载时)
- 如何使 html 选择选项在 Meteor 中工作
- 引导导航选项卡在小提琴中工作,但在使用 Chrome 打开时则不工作
- Anjularjss ng选项不工作选择
- JavaScript选项卡动态宽度.animate()只能工作一次
- Jquery选项卡容器不工作(未检测到,tabs()函数)
- JQuery隐藏选项没有'我在IE 11中不工作
- AngularStrap Select和ng选项don'使用动态数组不能很好地工作
- 数据插件选项筛选器不工作
- JQuery选项卡没有't工作-没有错误
- ng-选项与ng-init无法正常工作
- ngBlur 仅在选项卡外正常工作
- 流星的 restrictCreationByEmailDomain 选项如何工作
- 可排序的 Js 在带有选择/选项标签的 chrome 中不起作用,但与 ul/li 标签一起工作
- 工作流程/选项以扩展其他选项
- 如何使 jquery 嵌套选项卡链接工作
- 谷歌地图API不工作选项