JavaScript 封裝一個tab效果源碼分享_javascript技巧

來源:互聯網
上載者:User

效果圖如下:

查看示範  源碼下載

html代碼

<!DOCTYPE html><html><head><title>tab測試</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-" /><link href="css/tab.css" rel="stylesheet" type="text/css" /><script type="text/javascript" src="js/tab-min.js"></script></head><body><div id="tab"> <!-- tabHead --> <ul class="tab-nav"> <li><a href="javascript:void()">交易安全</a></li> <li><a href="javascript:void()">淘寶大學</a></li> <li><a href="javascript:void()">愛心</a></li> </ul> <!-- tabPanel--> <ul class="tab-bd"> <li></li> <li></li> <li></li> </ul></div><script type="text/javascript">tabPanel({"panel":"tab"});//panel為必填項,default、defalutStyle、hoverStyle為選填項</script></body></html>

js代碼

function tabPanel(param){ var defaultIndex=param["default"]||,//設定顯示的頁面 panelobj=param["panel"],//設定tab容器 defalutClass=param["defalutStyle"]||"",//設定tab功能表項目的普通樣式 hoverClass=param["hoverStyle"]||"hover",//設定滑鼠移到tab功能表項目的樣式 currentIndex=defaultIndex, menus=_$(panelobj).getElementsByTagName("ul")[].getElementsByTagName("li"), contents=_$(panelobj).getElementsByTagName("ul")[].getElementsByTagName("li"), menuNumber=menus.length, hidden="hidden"; for(var i=;i<menuNumber;i++){ _setClass(contents[],hoverClass); _setClass(contents[i],hidden); _setClass(menus[i],defalutClass); (function(i){ menus[i].onmouseover=function(){ var old=menus[currentIndex]; _setClass(old,defalutClass); _setClass(contents[currentIndex],hidden); var cur=menus[i]; _setClass(cur,hoverClass); currentIndex=i; _setClass(contents[i],""); }; })(i); } _setClass(menus[currentIndex],hoverClass); _setClass(contents[currentIndex],""); //便利函數 function _setClass(obj,className){obj.className=className} function _$(oid){return typeof(oid) == "string"?document.getElementById(oid):oid}}

css代碼

#tab{border:px solid #ccc;}#tab .tab-bd{border-top:none;margin: auto;padding:px;text-align:left;height:px;position:relative}.tab-nav{margin: auto;padding:;background:#eee;height:px;}.tab-nav li{display:inline;list-style:none outside none;width:px;height:px;float:left;line-height:px;text-align:center;}.tab-nav li a{color:#;display:inline-block}.tab-nav li a:hover,.tab-nav li.hover a{text-decoration:none;background:#fff;color:#;display:block; }.hidden{display:none}
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.