时间:2021-07-01 10:21:17 帮助过:9人阅读
本文实例讲述了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程序设计有所帮助。