本文實例講述了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程序設計有所幫助。