当一个选项卡单击,为标签A.节目内容点击选项卡B,节目内容选项卡B,等等。
什么是构建一个HTML片段的最简单,最兼容的方式?
我并不想在这里使用的库,所以没有任何的jQuery或任何其他库。
当一个选项卡单击,为标签A.节目内容点击选项卡B,节目内容选项卡B,等等。
什么是构建一个HTML片段的最简单,最兼容的方式?
我并不想在这里使用的库,所以没有任何的jQuery或任何其他库。
如果你想推出自己的标签控制,你可以这样做:
<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>
这是一个不同类型的选项卡的列表中加教程关于如何建立他们
TabTastic是一个很好的指南-它是访问,(当JavaScript不可用)失败,非常优雅。
如果你想实现自己的标签视图,只需像下面这样做:
<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>
一的jsfiddle ,请点击这里 。
看看一个例子,如这 (谷歌搜索“选项卡视图的javascript”提供)。
可以很明显的一点点定制使用,但它是有益的把它拆开,并确定它在做什么。 它基本上启用或禁用<div>
使用display
风格并把它置block
或none
如果“简单和兼容”是你唯一两个标准,我建议的jQuery UI的标签插件 。 跨浏览器,并执行不在话下。
根据你的野心,它可能仅仅是一个无序列表的问题和若干<div>
S(选项卡的内容)。 然后一个简单的JavaScript可以-借助于getElementById()
-对于所有设定的显示属性<div>
:■ none
对所有除的电流。
或者,你可以看看这个 。
编辑 :不是唯一的一个链接到jQuery的网站,似乎:)
在该选项卡窗口小部件的jQuery UI易于使用: http://jqueryui.com/demos/tabs/ 。
jQuery的标签窗口小部件的工作原理完全在浏览器端 - 对所有标签含量在每次请求发送,或者你可以写一个使用Ajax动态加载的标签内容的JavaScript代码。
但它可能不适合您的使用。 试想,如果你需要控制选项卡服务器端(即标签上点击发送一个新的页面请求到服务器 - 服务器构建有标签的外观HTML)。
如果你打开使用JavaScript, jQuery的标签是相当不错的。