亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

JS實現選項卡效果的代碼實例

2024-05-06 16:51:05
字體:
來源:轉載
供稿:網友

選項卡這個效果估計以后的項目會經常涉及到,對代碼還是半熟練的情況下還是寫下來吧。 
先來布局一個簡單的頁面:

<!DOCTYPE html><html>  <head>    <meta charset="UTF-8">    <title></title>    <style type="text/css">      *{margin: 0;padding: 0;list-style: none;}      #box{margin: 50px;}      #box li{width: 100px;height: 40px;line-height: 40px;text-align: center;background-color: #d8d8d8;margin-right: 2px;float: left;}      #box .active{background: red;}      #content{clear: both;}      #content div{width: 404px;height: 200px;border: 1px solid #d8d8d8;display: none;}    </style>  </head>  <body>    <div id="box">      <!--這個ul為選項卡的菜單,提供選擇項,并且設置其中一個li為默認樣式-->      <ul>        <li class="active">新聞</li>        <li>社會</li>        <li>科技</li>        <li>娛樂</li>      </ul>      <!--這個div為選項卡的內容,顯示不同菜單的不同內容,并且設置其中一個div為可見,其他隱藏-->      <div id="content">        <div style="display: block;">新聞</div>        <div>社會</div>        <div>科技</div>        <div>娛樂</div>      </div>    </div>  </body></html>

選項卡的制作原理是:有若干的選項和對應數量的內容,當對其中一個選項進行操作時,顯示對應內容,其他內容不顯示。所以,在頁面布局的時候,我們先給一個選項設置特殊樣式和顯示其對應的內容,其他選項樣式不變,對應內容隱藏。當操作選項時,把選項的類名改為特殊樣式的類名,并且顯示對應內容。

<script type="text/javascript">  window.onload=function(){    var oBox=document.getElementById('box');    var aLi=oBox.getElementsByTagName('li');    var oCon=document.getElementById('content');    var aDiv=oCon.getElementsByTagName('div');    for(var i=0;i<aLi.length;i++){      aLi[i].index=i;  //為每個li添加對應的索引index      aLi[i].onclick=function(){  //循環為每個li添加onclick事件      for(var i=0;i<aLi.length;i++){        aLi[i].className=''; //循環清空li樣式        aDiv[i].style.display='none'; //循環隱藏所有div      }      this.className='active'; //當前點擊的元素樣式變成active      aDiv[this.index].style.display='block';  //this.index 獲取當前li對應的索引      }    }  }</script>

今天在做選項卡效果時遇到了一個非常低級的錯誤,但卻遲遲找不到原因,如下: 
這個是我布局的選項卡的菜單,看起來很簡單,一個ul包著3個li,其中一個是 |,所以可以點擊的菜單項只有兩項,沒毛病。

<ul id="text">  <li class="active"><a href="javascript:" rel="external nofollow" rel="external nofollow" >必備軟件</a></li>  <li id="shu">|</li>  <li><a href="javascript:" rel="external nofollow" rel="external nofollow" >常用軟件</a></li></ul>

內容就不看了,接下來我就開始寫JS的代碼,getElementById什么的巴拉巴拉開始寫,寫完for循環覺得寫完了,然后就運行。。。默認頁正常,點擊,,空白。?????怎么回事?F12,aLink[i] is undefind;加了一個console.log,檢測獲取的aLi,aLink,有值,能獲取,沒錯。然后下面循環檢測aLink[i],未定義,這是什么情況?在JS代碼搞了將近一個小時,換獲取方法,換變量名….各種方法,沒效果。萬萬沒想到的是,重新檢測aLi的時候,發現長度為3。。頓時懵逼,aLink的長度為2,所以肯定有一個找不到。趕緊把第二個li改成span,成功。萬惡的 ||||||||。只能說自己的知識還不夠,還要繼續努力?。?!

var oBox=document.getElementById('box');var oNav=document.getElementById('nav');var aLi=oNav.getElementsByTagName('li');var oCon=document.getElementById('con');var aLink=oBox.getElementsByClassName('hide');for(var i=0;i<aLi.length;i++){  aLi[i].index=i; //為每個li添加對應的索引index  aLi[i].onclick=function(){ //循環為每個li添加onclick事件    for(var i=0;i<aLi.length;i++){      aLi[i].className=''; //循環清空li樣式      aLink[i].style.display='none'; //循環隱藏所有div    }    this.className='active'; //當前點擊的元素樣式變成active    aLink[this.index].style.display='block'; //this.index 獲取當前li對應的索引  }}

以上所述是小編給大家介紹的JS選項卡效果詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲国模精品私拍| 欧美理论片在线观看| 日韩中文字幕网| 欧美电影免费观看大全| 亚洲国产精品va在线| 久久精品视频在线| 欧美在线观看网址综合| 精品国产31久久久久久| 久久九九国产精品怡红院| 性欧美亚洲xxxx乳在线观看| 日韩av123| 精品高清一区二区三区| 2019亚洲男人天堂| 午夜精品一区二区三区在线播放| 青草热久免费精品视频| 国产精品丝袜久久久久久高清| 久久全球大尺度高清视频| 国产日韩精品一区二区| 亚洲美女性生活视频| 欧美在线影院在线视频| 热门国产精品亚洲第一区在线| 国产精品第100页| 精品国产91乱高清在线观看| 亚洲加勒比久久88色综合| 亚洲视频在线免费看| 亚洲精品国产拍免费91在线| 久久久免费在线观看| 国产成人综合精品| 日韩电影免费观看在线观看| 国产精品久久久久久久久久久久久久| 在线性视频日韩欧美| 成人淫片在线看| 久久久亚洲精选| 国内精品久久久久| 97香蕉超级碰碰久久免费软件| 久久这里有精品视频| 国产精品第2页| 日韩电影视频免费| 欧美电影第一页| 两个人的视频www国产精品| 国产在线精品自拍| 国产婷婷97碰碰久久人人蜜臀| 欧美精品第一页在线播放| 亚洲免费av电影| 欧美整片在线观看| 亚洲日韩中文字幕在线播放| 一区二区三区美女xx视频| 国产69久久精品成人看| 欧美丰满少妇xxxxx| 亚洲精品91美女久久久久久久| 国产成人涩涩涩视频在线观看| 精品久久久久久久久中文字幕| 在线看欧美日韩| 人体精品一二三区| 色婷婷**av毛片一区| 亚洲精品一二区| 国产精选久久久久久| 亚洲最大成人免费视频| 亚洲第一页在线| 色婷婷**av毛片一区| 成人av在线天堂| 两个人的视频www国产精品| 欧美激情免费观看| 成人欧美一区二区三区黑人| 秋霞午夜一区二区| 97国产真实伦对白精彩视频8| 亚洲国产精品久久| 亚洲欧美三级在线| 亚洲精品一区久久久久久| 亚洲福利视频网站| 成人亚洲综合色就1024| 国产精品久久久久久久久| 亚洲女人天堂视频| 91精品美女在线| 欧美日韩第一视频| 欧洲精品久久久| 久久久久久高潮国产精品视| 91精品国产综合久久久久久久久| 亚洲欧美激情四射在线日| 欧美一级视频在线观看| 国产精品高潮粉嫩av| 欧美性xxxx在线播放| 久久久久久一区二区三区| 欧美成人激情视频| 欧美国产第一页| 国产精品草莓在线免费观看| 日韩欧美国产网站| 久久久久久久网站| 午夜精品久久久久久99热软件| 欧美精品福利视频| 日韩视频免费大全中文字幕| 欧美专区中文字幕| 91极品视频在线| 欧美午夜激情视频| 2019亚洲男人天堂| 日韩亚洲欧美中文高清在线| 久久久天堂国产精品女人| 91精品在线播放| 在线a欧美视频| 亚洲美女免费精品视频在线观看| 日韩av免费一区| 国产精品久久久久久久7电影| 欧美中文字幕精品| 日韩电影免费在线观看| 欧美激情久久久久久| 4k岛国日韩精品**专区| 538国产精品一区二区在线| 成人国产精品一区| 亚洲第一区中文99精品| 国产精品美女久久久久久免费| 欧美肥臀大乳一区二区免费视频| 51久久精品夜色国产麻豆| 91午夜理伦私人影院| xxx成人少妇69| 欧美性猛交xxxx富婆| 日韩av在线网站| 成人黄色激情网| 77777亚洲午夜久久多人| 亚洲成在人线av| 久久久91精品国产一区不卡| 欧美三级免费观看| 中文字幕久久久| 亚洲男人天堂网站| 国产午夜精品免费一区二区三区| 久久成人精品电影| 欧美国产极速在线| 国产亚洲精品美女久久久久| 欧美亚洲免费电影| 日韩精品视频免费| 欧美亚洲国产成人精品| 欧美性开放视频| 欧美午夜www高清视频| 欧美日韩在线影院| 91精品久久久久久久久不口人| 国产精品入口免费视频一| 亚洲综合社区网| 欧美性极品少妇精品网站| 在线视频日韩精品| 国产精品青草久久久久福利99| 日韩欧美aⅴ综合网站发布| 国产精品劲爆视频| 久久视频这里只有精品| 九九热99久久久国产盗摄| 国产91在线视频| 久久久久久久久久av| 亚洲成人在线网| 激情av一区二区| 成人在线激情视频| 欧美高清在线视频观看不卡| 中文字幕亚洲一区| 97久久精品人搡人人玩| 国产高清视频一区三区| 亚洲国产精品系列| 欧美日韩精品在线播放| 黑人巨大精品欧美一区二区| 亚洲性夜色噜噜噜7777| 欧美体内谢she精2性欧美| 欧美精品国产精品日韩精品| 91国产美女在线观看| 日韩在线观看高清| 91国内在线视频| 一区国产精品视频| 久久精品久久久久久国产 免费| 国产精品久久二区|