這篇文章給大家分享的是有關(guān)JS如何實現(xiàn)標(biāo)簽頁切換效果的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、電白網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5場景定制、成都商城網(wǎng)站開發(fā)、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為電白等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
具體內(nèi)容如下
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>resize</title> <style type="text/css"> *{margin:0;padding:0;} #wrap{width:500px; margin:10px auto; } #tag{ width:498px; overflow:hidden; background:#000; border:1px solid #000; } #tag li{list-style:none; float:left; margin-right:0px; color:white; padding:5px 20px; cursor: pointer;} #tag .current{ color:#000; background:#ccc; } #tagContent div{ width:498px; border:1px solid #000; border-top:none; height:300px; display:none; } </style> </head> <body> <div id="warp"> <ul id="tag"> <li>標(biāo)簽一</li> <li>標(biāo)簽二</li> <li>標(biāo)簽三</li> <li>標(biāo)簽4</li> <li>標(biāo)簽5</li> </ul> <div id="tagContent"> <div class="J_tabClass"> 內(nèi)容一<br>內(nèi)容一 </div> <div class="J_tabClass"> 內(nèi)容二<br>內(nèi)容二 </div> <div class="J_tabClass"> 內(nèi)容三<br>內(nèi)容三 </div> <div class="J_tabClass"> 內(nèi)容4<br>內(nèi)容4 </div> <div class="J_tabClass"> 內(nèi)容4<br>內(nèi)容5555555555555555 </div> </div> </div> <script type="text/javascript"> //nameSpace var VVG = {}; VVG.DOM = {}; //創(chuàng)建getElementsByClassName方法 VVG.DOM.getElementsByClassName = function(str,parent,tag){ //父節(jié)點存在 if(parent){ // 當(dāng)父節(jié)點為string類型時,查找DOM節(jié)點,否則直接引用parent parent = typeof parent == "string" ? document.getElementById(parent):parent; // parent為空時提示錯誤信息 if(!parent) alert("找不到標(biāo)簽,請檢查參數(shù)是否正確"); }else{ // 未傳值時,父節(jié)點為body parent = document.body; } // tagContent為節(jié)點類型,未傳值時為all節(jié)點 tag = tag || "*"; // 在父節(jié)點查找子節(jié)點,建立空數(shù)組arr var els = parent.getElementsByTagName(tag),arr=[]; for(var i=0,n=els.length;i<n;i++){ // 查找每個節(jié)點下的classname,以空格分離為一個k數(shù)組 for(var j=0,k=els[i].className.split(" "),l=k.length;j<1;j++){ // 當(dāng)K數(shù)組中有一個值與str值相等時,記住這個標(biāo)簽并推入arr數(shù)組 if(k[j]==str){ arr.push(els[i]); break; } } } // 返回數(shù)組 return arr; } //創(chuàng)建TabManager對象 VVG.TabManager = function(oo){ this.root = oo.root || "warp"; this.tabUlId = oo.tabUlId||"tabUlId"; this.tabConId = oo.tabConId||"tabConId"; this.tabConClass = oo.tabConClass||"J_tabClass"; this.trggle = oo.trggle || "click"; this.currentCss = oo.currentCss || "current"; } VVG.TabManager.prototype = { tabChange:function(){ // 獲取UL的id var ulid = document.getElementById(this.tabUlId); // 獲取UL下的LI元素 var ulli = ulid.getElementsByTagName("li"); // 獲取內(nèi)容盒子DIV元素 var tabConId = document.getElementById(this.tabConId); // 獲取root下的div的class為特定值的對象數(shù)組 var tabConClasses = VVG.DOM.getElementsByClassName(this.tabConClass,this.root,"div"); // 初始化 ulli[0].className = this.currentCss; tabConClasses[0].style.display = 'block'; for (var i = ulli.length - 1; i >= 0; i--) { // 賦值this 與 that,避免this混亂 var that = this; // 設(shè)置對象index屬性 ulli[i].index = i; // 設(shè)置對象的事件 ulli[i]["on" + this.trggle] = function(){ for(var j = tabConClasses.length - 1; j >= 0; j--){ tabConClasses[j].style.display = "none"; ulli[j].className = ""; } tabConClasses[this.index].style.display = "block"; this.className = that.currentCss; } } } } // 新建對象實例 var TabManager1 = new VVG.TabManager( { root:"warp",//包裹tab對象的div層的ID名稱,必填 tabUlId:"tag",//TAB標(biāo)簽LI元素的父親UL元素的ID名稱,必填 tabConId:"tagContent",//內(nèi)容元素的包裹盒子的ID名稱,必填 trggle:"mouseover",//切換方式,默認(rèn)為click,可選 currentCss:"current",//TAB標(biāo)簽liy元素的當(dāng)前CSS名稱,默認(rèn)為current tabConClass:"J_tabClass",//內(nèi)容元素的CLASS名稱,默認(rèn)為J_tabClass } ); // 調(diào)用對象方法 TabManager1.tabChange(); </script> </body> </html>
感謝各位的閱讀!關(guān)于“JS如何實現(xiàn)標(biāo)簽頁切換效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
分享標(biāo)題:JS如何實現(xiàn)標(biāo)簽頁切換效果
文章源于:http://muchs.cn/article34/pipspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、外貿(mào)建站、網(wǎng)頁設(shè)計公司、定制開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)