答案 0 :(得分:29)
如果您想要滚动自己的标签控件,可以执行以下操作:
<html>
<head>
<script type="text/javascript">
function activateTab(pageId) {
var tabCtrl = document.getElementById('tabCtrl');
var pageToActivate = document.getElementById(pageId);
for (var i = 0; i < tabCtrl.childNodes.length; i++) {
var node = tabCtrl.childNodes[i];
if (node.nodeType == 1) { /* Element */
node.style.display = (node == pageToActivate) ? 'block' : 'none';
}
}
}
</script>
</head>
<body>
<ul>
<li>
<a href="javascript:activateTab('page1')">Tab 1</a>
</li>
<li>
<a href="javascript:activateTab('page2')">Tab 2</a>
</li>
...
</ul>
<div id="tabCtrl">
<div id="page1" style="display: block;">Page 1</div>
<div id="page2" style="display: none;">Page 2</div>
...
</div>
</body>
</html>
答案 1 :(得分:3)
以下是 list of different types of tabs 以及如何构建它们的教程
答案 2 :(得分:2)
TabTastic是一个很好的指南 - 它是可访问的,并且(当JavaScript不可用时)非常优雅地失败。
答案 3 :(得分:2)
如果您想要实现自己的标签视图,请按以下方式执行:
<html>
<head>
<style>
.tab {
display:none;
}
</style>
<script type="text/javascript">
function initTabView(){
var x = document.getElementsByClassName('tab-view')
for(var i=0; i < x.length; i++) {
x[i].onclick = displayTab;
}
var prevViewedTab = null;
function displayTab(e) {
var idOfTabToDisplay = this.getAttribute("data-tab")
if(prevViewedTab) {
prevViewedTab.style.display = 'none';
}
var tabToDisplay = document.getElementById(idOfTabToDisplay);
tabToDisplay.style.display = 'block';
prevViewedTab = tabToDisplay;
}
var defaultTab = document.getElementsByClassName('default-tab')
if (defaultTab.length) {
defaultTab[0].style.display = 'block';
prevViewedTab = defaultTab[0];
}
}
</script>
</head>
<body>
<ul>
<li>
<a data-tab="tab1" class="tab-view">Tab 1</a>
</li>
<li>
<a data-tab="tab2" class="tab-view">Tab 2</a>
</li>
<li>
<a data-tab="tab3" class="tab-view">Tab 3</a>
</li>
<li>
<a data-tab="tab4" class="tab-view">Tab 4</a>
</li>
</ul>
<div id="tabCtrl">
<div class="tab default-tab" id="tab1">This is Tab 1</div>
<div class="tab" id="tab2">This is Tab 2</div>
<div class="tab" id="tab3">This is Tab 3</div>
<div class="tab" id="tab4">This is Tab 4</div>
</div>
<script>
initTabView();
</script>
</body>
</html>
答案 4 :(得分:1)
查看this等示例(由Google搜索“标签式视图javascript”提供)。
显然,您可以通过一些自定义来使用它,但将它拆开并确定它正在做什么是有益的。它基本上是使用<div>
样式启用或停用display
并将其设置为block
或none
答案 5 :(得分:0)
jQuery UI中的标签窗口小部件易于使用:http://jqueryui.com/demos/tabs/。
jQuery选项卡小部件完全在浏览器端工作 - 所有选项卡的内容都在每个请求上发送,或者您可以编写使用Ajax动态加载选项卡内容的JavaScript代码。
但它可能不适合您的使用。考虑是否需要控制选项卡服务器端(即,单击选项卡将新页面请求发送到服务器 - 服务器构造具有选项卡可视外观的HTML)。
答案 6 :(得分:0)
如果您愿意使用JavaScript,jQuery's tab非常好。
答案 7 :(得分:0)
如果“简单且兼容”是您唯一的两个标准,我建议使用jQuery UI Tabs plugin。跨浏览器,并且可以实现。
答案 8 :(得分:0)
根据您的抱负,它可能只是一个无序列表和一些<div>
s(标签内容)的问题。然后,一个简单的JavaScript可以 - 通过getElementById()
- 为所有<div>
设置显示属性:none
除了当前的所有内容。
或者,您可以查看this。
编辑:不是唯一一个链接到jQuery网站的人,似乎:)