推薦三種簡潔的Tab導航(網(wǎng)頁選項卡)簡析
更新時間:2007年05月20日 00:00:00 作者:
在網(wǎng)頁中應用選項卡可以使網(wǎng)頁顯得更緊湊,結(jié)合AJAX技術(shù)可以使頁面在有限的空間內(nèi)展現(xiàn)更多的內(nèi)容。本文主要介紹幾種簡潔的選項卡效果的實現(xiàn)(不涉及滑動門和AJAX),附有實例,無圖片,兼容性較好,方便大家直接使用。
第一種形式: 通過更換顯示樣式實現(xiàn),這種很常見,就不多說了。
<div id="tabs0">
<ul class="menu0" id="menu0">
<li onclick="setTab(0,0)" class="hover">新聞</li>
<li onclick="setTab(0,1)">評論</li>
<li onclick="setTab(0,2)">技術(shù)</li>
<li onclick="setTab(0,3)">點評</li>
</ul>
<div class="main" id="main0">
<ul class="block"><li>新聞列表</li></ul>
<ul><li>評論列表</li></ul>
<ul><li>技術(shù)列表</li></ul>
<ul><li>點評列表</li></ul>
</div>
</div>
第二種形式: 這種結(jié)構(gòu)比較復雜一些,外面加一個相對層(.menu1box),設(shè)置溢出隱藏,將選項卡(#menu1)設(shè)為絕對定位,設(shè)置層指針為1(z-index:1;),以便可以遮住下主區(qū)塊(.main1box)1px的高度。設(shè)置主區(qū)塊的邊框為1px的黑邊,上空白(margin-top)為-1px,使上邊框伸到選項卡下。當改變選項卡某項(li)的背景為白色時便可遮住一部分主區(qū)塊的上邊框。這樣效果就實現(xiàn)了。
<div id="tabs1">
<div class="menu1box">
<ul id="menu1">
<li class="hover" onmouseover="setTab(1,0)"><a href="#">新聞</a></li>
<li onmouseover="setTab(1,1)"><a href="#">評論</a></li>
<li onmouseover="setTab(1,2)"><a href="#">技術(shù)</a></li>
<li onmouseover="setTab(1,3)"><a href="#">點評</a></li>
</ul>
</div>
<div class="main1box">
<div class="main" id="main1">
<ul class="block"><li>新聞列表</li></ul>
<ul><li>評論列表</li></ul>
<ul><li>技術(shù)列表</li></ul>
<ul><li>點評列表</li></ul>
</div>
</div>
</div>
第一、二種形式的JS代碼:
function setTab(m,n){
var tli=document.getElementById("menu"+m).getElementsByTagName("li"); /*獲取選項卡的LI對象*/
var mli=document.getElementById("main"+m).getElementsByTagName("ul"); /*獲取主顯示區(qū)域?qū)ο?/
for(i=0;i<tli.length;i++){
tli[i].className=i==n?"hover":""; /*更改選項卡的LI對象的樣式,如果是選定的項則使用.hover樣式*/
mli[i].style.display=i==n?"block":"none"; /*確定主區(qū)域顯示哪一個對象*/
}
}
第三種形式: 這也是一種不常用的方式,加一個相對層(.menu2box),利用一個背景層(#tip2)定位,通過改變層的左距離(left)實現(xiàn)效果。
<div id="tabs2">
<div class="menu2box">
<div id="tip2"></div>
<ul id="menu2">
<li class="hover" onmouseover="nowtab(2,0)"><a href="#">新聞</a></li>
<li onmouseover="nowtab(2,1)"><a href="#">評論</a></li>
<li onmouseover="nowtab(2,2)"><a href="#">技術(shù)</a></li>
<li onmouseover="nowtab(2,3)"><a href="#">點評</a></li>
</ul>
</div>
<div class="main" id="main2">
新聞內(nèi)容
</div>
</div>
效果演示:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
第一種形式: 通過更換顯示樣式實現(xiàn),這種很常見,就不多說了。
復制代碼 代碼如下:
<div id="tabs0">
<ul class="menu0" id="menu0">
<li onclick="setTab(0,0)" class="hover">新聞</li>
<li onclick="setTab(0,1)">評論</li>
<li onclick="setTab(0,2)">技術(shù)</li>
<li onclick="setTab(0,3)">點評</li>
</ul>
<div class="main" id="main0">
<ul class="block"><li>新聞列表</li></ul>
<ul><li>評論列表</li></ul>
<ul><li>技術(shù)列表</li></ul>
<ul><li>點評列表</li></ul>
</div>
</div>
第二種形式: 這種結(jié)構(gòu)比較復雜一些,外面加一個相對層(.menu1box),設(shè)置溢出隱藏,將選項卡(#menu1)設(shè)為絕對定位,設(shè)置層指針為1(z-index:1;),以便可以遮住下主區(qū)塊(.main1box)1px的高度。設(shè)置主區(qū)塊的邊框為1px的黑邊,上空白(margin-top)為-1px,使上邊框伸到選項卡下。當改變選項卡某項(li)的背景為白色時便可遮住一部分主區(qū)塊的上邊框。這樣效果就實現(xiàn)了。
復制代碼 代碼如下:
<div id="tabs1">
<div class="menu1box">
<ul id="menu1">
<li class="hover" onmouseover="setTab(1,0)"><a href="#">新聞</a></li>
<li onmouseover="setTab(1,1)"><a href="#">評論</a></li>
<li onmouseover="setTab(1,2)"><a href="#">技術(shù)</a></li>
<li onmouseover="setTab(1,3)"><a href="#">點評</a></li>
</ul>
</div>
<div class="main1box">
<div class="main" id="main1">
<ul class="block"><li>新聞列表</li></ul>
<ul><li>評論列表</li></ul>
<ul><li>技術(shù)列表</li></ul>
<ul><li>點評列表</li></ul>
</div>
</div>
</div>
第一、二種形式的JS代碼:
復制代碼 代碼如下:
function setTab(m,n){
var tli=document.getElementById("menu"+m).getElementsByTagName("li"); /*獲取選項卡的LI對象*/
var mli=document.getElementById("main"+m).getElementsByTagName("ul"); /*獲取主顯示區(qū)域?qū)ο?/
for(i=0;i<tli.length;i++){
tli[i].className=i==n?"hover":""; /*更改選項卡的LI對象的樣式,如果是選定的項則使用.hover樣式*/
mli[i].style.display=i==n?"block":"none"; /*確定主區(qū)域顯示哪一個對象*/
}
}
第三種形式: 這也是一種不常用的方式,加一個相對層(.menu2box),利用一個背景層(#tip2)定位,通過改變層的左距離(left)實現(xiàn)效果。
復制代碼 代碼如下:
<div id="tabs2">
<div class="menu2box">
<div id="tip2"></div>
<ul id="menu2">
<li class="hover" onmouseover="nowtab(2,0)"><a href="#">新聞</a></li>
<li onmouseover="nowtab(2,1)"><a href="#">評論</a></li>
<li onmouseover="nowtab(2,2)"><a href="#">技術(shù)</a></li>
<li onmouseover="nowtab(2,3)"><a href="#">點評</a></li>
</ul>
</div>
<div class="main" id="main2">
新聞內(nèi)容
</div>
</div>
效果演示:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
您可能感興趣的文章:
- 關(guān)于Blog頂部的滾動導航條代碼
- 非常不錯的三種簡潔的Tab導航(網(wǎng)頁選項卡)簡析
- Javascript Tab 導航插件 (23個)
- 基于Jquery的$.cookie()實現(xiàn)跨越頁面tabs導航實現(xiàn)代碼
- jquery scrollTop方法根據(jù)滾動像素顯示隱藏頂部導航條
- 隨窗體滑動的小插件sticky源碼
- JS幻燈片可循環(huán)播放可平滑旋轉(zhuǎn)帶滾動導航(自寫)
- 導航跟隨滾動條置頂移動示例代碼
- sencha touch 模仿tabpanel導航欄TabBar的實例代碼
- jQuery 頂部導航跟隨滾動條滾動固定浮動在頂部
- 使用Sticky組件實現(xiàn)帶sticky效果的tab導航和滾動導航的方法
相關(guān)文章
用CSS控制表格或單元格強制換行,防止表格被英文單詞或中文撐大
自動換行問題,正常字符的換行是比較合理的,而連續(xù)的數(shù)字和英文字符常常將容器撐大,挺讓人頭疼,下面介紹的是CSS如何實現(xiàn)換行的方法2008-10-10htm頁面中<a name>加name和id的沖突附解決方法
原來在<a name="jb51"> 和<span id="jb51">是沖突的,唉弄了好一會,郁悶 臨時解決方法就是在后面的id中加了一個2,就是<span id="jb512">2008-07-07CSS 使用Sprites技術(shù)實現(xiàn)圓角效果
使用CSS Sprites技術(shù)畫圓角,簡單的講就是把一個圓做在一張圖上,定義4個div,每個div取圖的一個角做背景,下面看具體實現(xiàn)方法。2016-04-04