本文實例講述了JS自定義選項卡函數及用法。分享給大家供大家參考。具體如下:
這裡分享一個JS選項卡函數附帶演示效果,選項卡函數參數調用說明:
cmd:點擊元素集合
con:顯示容器集合
evt:觸發事件
css:為當前點擊元素的樣式名稱
index:為默認顯示第幾項的索引值
目前選項卡的樣式還比較簡潔和粗糙,想用的自己動動手美化一下。
運行效果截圖如下:
在線演示地址如下:
http://demo.jb51.net/js/2015/js-zdy-tab-cha-fun-style-codes/
具體代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Js選項卡</title> <style type="text/css"> ul,li{ margin:0; padding:0; overflow:hidden; list-style:none; font-family:"Lucida Console", Monaco, monospace} #tab{ width:300px; height:25px; border:1px solid #ddd} #tab li{ width:75px; height:25px; line-height:26px; text-align:center; float:left; cursor:pointer} #tab li.curr{ background:#eee} #con{ width:300px; border:1px solid #ddd; margin-top:-1px;} #con li{ display:none; width:280px; height:100px; padding:10px;} </style> </head> <body> <div id="tab"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> </ul> </div> <div id="con"> <ul> <li>a</li> <li>b</li> <li>c</li> <li>d</li> </ul> </div> <script type="text/javascript"> /* 選項卡函數: cmd:點擊元素集合 con:顯示容器集合 evt:觸發事件 css:為當前點擊元素的樣式名稱 index:為默認顯示第幾項的索引值 email : [email]kingark@163.com[/email] */ (function(t){ window[t] = function(cmd, con, evt, css, index){ //默認觸發事件 var evt = evt || 'mouseover', //默認樣式名 css = css || 'curr', index = index || 0; //初始化顯示項 show(index); //為點擊元素綁定事件 for(var i = 0, l = cmd.length; i < l; i ++){ //為准確獲得i的值用閉包傳值 (function(n){ cmd[n]['on'+ evt] = function(){ //切換到索引為i的選項 show(n); } })(i); }; //切換顯示 function show(i){ cmd[index].className = cmd[index].className.replace(css, ''); con[index].style.display = 'none'; index = i; cmd[index].className += css; con[index].style.display = 'block'; } } //指定選項卡函數的名稱 })('Tab'); function tag(i, t){ return document.getElementById(i).getElementsByTagName(t); }; //調用選項卡函數 Tab(tag('tab','li'), tag('con','li'), 'click', '', 1); </script> </body> </html>
希望本文所述對大家的javascript程序設計有所幫助。