久久96国产精品久久久-久久发布国产伦子伦精品-久久精品国产精品青草-久久天天躁夜夜躁狠狠85麻豆

技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機純凈版,64位旗艦版,綠色軟件,免費軟件下載基地!

當前位置:主頁 > 教程 > 服務器類 >

JS如何實現(xiàn)網(wǎng)頁中的選項卡

來源:技術(shù)員聯(lián)盟┆發(fā)布時間:2017-07-16 12:08┆點擊:

方法一利用簡單的代碼即可實現(xiàn),以下是全部的代碼;

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>選項卡</title> <style type="text/css"> *{margin: 0;padding: 0;} #box{width: 600px;background: #ccc;margin: 0 auto;} li{list-style: none;} #ul1{display: block; width: 100%;overflow: hidden;} #ul1 li{width:110px;height: 40px;background: #4cfed2;float: left;margin-left: 8px;text-align: center;line-height: 40px;} #content{width: 100%;margin-top: 20px;} #content div{display: none;} #content div.active{display: block;} .show{background: red;} </style> </head> <body> <div id="box"> <ul id="ul1"> <li>首頁</li> <li>產(chǎn)品</li> <li>新聞</li> <li>聯(lián)系</li> <li>我的</li> </ul> <div id="content"> <div class="active"> <ul> <li>new1</li> <li>new2</li> <li>new3</li> </ul> </div> <div> <ul> <li>new4</li> <li>new5</li> <li>new6</li> </ul> </div> <div> <ul> <li>new7</li> <li>new8</li> <li>new9</li> </ul> </div> <div> <ul> <li>new10</li> <li>new11</li> <li>new12</li> </ul> </div> <div> <ul> <li>new13</li> <li>new14</li> <li>new15</li> </ul> </div> </div> </div> <script type="text/javascript"> window.onload=function(){ var oli=document.getElementById("ul1").getElementsByTagName("li"); //alert(oli.length); var odiv=document.getElementById("content").getElementsByTagName("div"); //alert(odiv.length) for(var i=0;i<oli.length;i++){ oli[i]._index=i; oli[i].onclick=function(){ //alert(i); for(i=0;i<oli.length;i++){ oli[i].className=''; odiv[i].style.display='none'; } this.className='show'; odiv[this._index].style.display='block'; } } } </script> </body> </html>

首先我們在HTML部分定義網(wǎng)頁選項卡中的內(nèi)容。

<div id="box"> <ul id="ul1"><!--選項卡中的點擊部分--> <li>首頁</li> <li>產(chǎn)品</li> <li>新聞</li> <li>聯(lián)系</li> <li>我的</li> </ul> <div id="content"> <div class="active"><!--選項卡中要顯示和被顯示的部分--> <ul> <li>new1</li> <li>new2</li> <li>new3</li> </ul> </div> <div> <ul> <li>new4</li> <li>new5</li> <li>new6</li> </ul> </div> <div> <ul> <li>new7</li> <li>new8</li> <li>new9</li> </ul> </div> <div> <ul> <li>new10</li> <li>new11</li> <li>new12</li> </ul> </div> <div> <ul> <li>new13</li> <li>new14</li> <li>new15</li> </ul> </div> </div> </div>

CSS部分對HTML中的內(nèi)容進行修飾:

<style type="text/css"> *{margin: 0;padding: 0;} #box{width: 600px;background: #ccc;margin: 0 auto;} li{list-style: none;} #ul1{display: block; width: 100%;overflow: hidden;} #ul1 li{width:110px;height: 40px;background: #4cfed2;float: left;margin-left: 8px;text-align: center;line-height: 40px;} #content{width: 100%;margin-top: 20px;} #content div{display: none;} #content div.active{display: block;} .show{background: red;} </style>

最后是最重要的js部分:

<script type="text/javascript"> window.onload=function(){ var oli=document.getElementById("ul1").getElementsByTagName("li"); //alert(oli.length); var odiv=document.getElementById("content").getElementsByTagName("div");//提取HTML中的元素 //alert(odiv.length) for(var i=0;i<oli.length;i++){ oli[i]._index=i; oli[i].onclick=function(){ //alert(i); for(i=0;i<oli.length;i++){ oli[i].className=''; odiv[i].style.display='none'; } this.className='show'; odiv[this._index].style.display='block'; } } } </script>

JS語句中的第一個for循環(huán)是為了取得所有的選項卡中的點擊部分;因為I這個變量在下面的事件函數(shù)中無法訪問到,所以每次點擊時,i變量循環(huán)到oli.length值。因此將i的值交給一個我們自定義的元素屬性上來保存循環(huán)中i的值,供下面使用。即:oli[i]._index=i;

添加點擊函數(shù)后,第二個for循環(huán)是為了把所有的oli的className改為“空”和所有的odiv的style為display='none';循環(huán)結(jié)束后,在給當前點擊的這個oli添加className和下面相應的odiv的style為display='block';

以下是運行的結(jié)果: