JavaScript 自定义选项卡函数封装与实现

作者:拾光

时间:2026-10-29

浏览:210

本文介绍了一个简洁的 JavaScript 自定义选项卡函数封装方法。通过定义点击元素、显示容器、触发事件及样式类等参数,实现灵活的选项卡切换逻辑。文中提供了详细的参数说明、运行效果截图及完整可运行的 HTML 示例代码,帮助开发者快速掌握并美化应用该组件。

文章目录

JavaScript 自定义选项卡函数封装与实现

本文详细介绍了一个 JavaScript 自定义选项卡函数的封装及其具体应用方式,旨在为开发者提供实用的参考案例。

函数参数说明

以下分享一个带有演示效果的 JS 选项卡函数,并详细说明其参数调用规则。

该选项卡函数的参数定义如下: cmd:表示被点击的元素集合。 con:表示需要显示内容的容器集合。 evt:指定触发交互的事件类型。 css:定义当前被点击元素所应用的样式类名。 index:设定默认显示的选项索引值。 目前该选项卡的视觉样式较为简洁,如需更美观的效果,开发者可自行进行 CSS 美化。

函数的实际运行效果截图如下所示。

JavaScript 自定义选项卡函数封装与实现

如需在线查看演示,请访问以下地址。

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 程序设计的分享能对您的开发工作有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章