非常不錯的三種簡潔的Tab導(dǎo)航(網(wǎng)頁選項卡)簡析
更新時間:2007年08月31日 21:27:24 作者:
在網(wǎng)頁中應(yī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)比較復(fù)雜一些,外面加一個相對層(.menu1box),設(shè)置溢出隱藏,將選項卡(#menu1)設(shè)為絕對定位,設(shè)置層指針為1(z-index:1;),以便可以遮住下主區(qū)塊(.main1box)1px的高度。設(shè)置主區(qū)塊的邊框為1px的黑邊,上空白(margin-top)為-1px,使上邊框伸到選項卡下。當(dāng)改變選項卡某項(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),這種很常見,就不多說了。
復(fù)制代碼 代碼如下:
<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)比較復(fù)雜一些,外面加一個相對層(.menu1box),設(shè)置溢出隱藏,將選項卡(#menu1)設(shè)為絕對定位,設(shè)置層指針為1(z-index:1;),以便可以遮住下主區(qū)塊(.main1box)1px的高度。設(shè)置主區(qū)塊的邊框為1px的黑邊,上空白(margin-top)為-1px,使上邊框伸到選項卡下。當(dāng)改變選項卡某項(li)的背景為白色時便可遮住一部分主區(qū)塊的上邊框。這樣效果就實現(xiàn)了。
復(fù)制代碼 代碼如下:
<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代碼:
復(fù)制代碼 代碼如下:
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)效果。
復(fù)制代碼 代碼如下:
<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頂部的滾動導(dǎo)航條代碼
- 推薦三種簡潔的Tab導(dǎo)航(網(wǎng)頁選項卡)簡析
- Javascript Tab 導(dǎo)航插件 (23個)
- 基于Jquery的$.cookie()實現(xiàn)跨越頁面tabs導(dǎo)航實現(xiàn)代碼
- jquery scrollTop方法根據(jù)滾動像素顯示隱藏頂部導(dǎo)航條
- 隨窗體滑動的小插件sticky源碼
- JS幻燈片可循環(huán)播放可平滑旋轉(zhuǎn)帶滾動導(dǎo)航(自寫)
- 導(dǎo)航跟隨滾動條置頂移動示例代碼
- sencha touch 模仿tabpanel導(dǎo)航欄TabBar的實例代碼
- jQuery 頂部導(dǎo)航跟隨滾動條滾動固定浮動在頂部
- 使用Sticky組件實現(xiàn)帶sticky效果的tab導(dǎo)航和滾動導(dǎo)航的方法
相關(guān)文章
JS 在指定數(shù)組中隨機(jī)取出N個不重復(fù)的數(shù)據(jù)
這篇文章主要介紹了JS 在指定數(shù)組中隨機(jī)取出N個不重復(fù)數(shù)據(jù)的方法,需要的朋友可以參考下2014-06-06javascript中style.left和offsetLeft的用法說明
本篇文章主要是對javascript中style.left和offsetLeft的用法進(jìn)行了說明介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-03-03bootstrap模態(tài)框關(guān)閉后清除模態(tài)框的數(shù)據(jù)方法
今天小編就為大家分享一篇bootstrap模態(tài)框關(guān)閉后清除模態(tài)框的數(shù)據(jù)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08javascript Array.remove() 數(shù)組刪除
下面的代碼主要是實現(xiàn)了,刪除數(shù)組中指定的值。2009-08-08