JS自定义选项卡函数及用法实例分析


Posted in Javascript onSeptember 02, 2015

本文实例讲述了JS自定义选项卡函数及用法。分享给大家供大家参考。具体如下:

这里分享一个JS选项卡函数附带演示效果,选项卡函数参数调用说明:

cmd:点击元素集合
con:显示容器集合
evt:触发事件
css:为当前点击元素的样式名称
index:为默认显示第几项的索引值
目前选项卡的样式还比较简洁和粗糙,想用的自己动动手美化一下。

运行效果截图如下:

JS自定义选项卡函数及用法实例分析

在线演示地址如下:

具体代码如下:

<!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程序设计有所帮助。

Javascript 相关文章推荐
用js生产批量批处理执行命令
Jul 28 Javascript
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
判断javascript的数据类型(示例代码)
Dec 11 Javascript
javascript数组快速打乱重排的方法
Jan 02 Javascript
js判断文本框剩余可输入字数的方法
Feb 04 Javascript
详解自动生成博客目录案例
Dec 09 Javascript
基于Javascript倒计时效果
Dec 22 Javascript
Vue组件开发初探
Feb 14 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
Sep 14 Javascript
详解JS浏览器事件循环机制
Mar 27 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
Aug 21 Javascript
js和jquery判断数据类型的4种方法总结
Aug 28 jQuery
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
Sep 02 #Javascript
jQuery实现自定义右键菜单的树状菜单效果
Sep 02 #Javascript
JavaScript学习小结(一)——JavaScript入门基础
Sep 02 #Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 #Javascript
JavaScript对象学习小结
Sep 02 #Javascript
JS实现可点击展开与关闭的左侧广告代码
Sep 02 #Javascript
jquery实现华丽的可折角广告代码
Sep 02 #Javascript
You might like
用Flash图形化数据(二)
2006/10/09 PHP
解析PHP中一些可能会被忽略的问题
2013/06/21 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
PHP设计模式(八)装饰器模式Decorator实例详解【结构型】
2020/05/02 PHP
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
javascript各种复制代码收集
2008/09/20 Javascript
Google官方支持的NodeJS访问API,提供后台登录授权
2014/07/29 NodeJs
JavaScript代码复用模式详解
2014/11/07 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
Javascript的表单验证-提交表单
2016/03/18 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
AngularJS中$apply方法和$watch方法用法总结
2016/12/13 Javascript
基于JavaScript实现图片剪切效果
2017/03/07 Javascript
addEventListener()与removeEventListener()解析
2017/04/20 Javascript
vue双花括号的使用方法 附练习题
2017/11/07 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
讲解vue-router之什么是动态路由
2018/05/28 Javascript
jQuery序列化form表单数据为JSON对象的实现方法
2018/09/20 jQuery
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
JavaScript实现随机五位数验证码
2019/09/27 Javascript
如何在postman中添加cookie信息步骤解析
2020/06/30 Javascript
[01:55]2014DOTA2国际邀请赛 BBC正赛第一天总结
2014/07/10 DOTA
利用pyuic5将ui文件转换为py文件的方法
2019/06/19 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
Python字符串函数strip()原理及用法详解
2020/07/23 Python
彻底搞懂python 迭代器和生成器
2020/09/07 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
群众路线剖析材料
2014/02/02 职场文书
军训考核自我鉴定
2014/02/13 职场文书
研修第一天随笔感言
2014/02/15 职场文书
工地安全标语
2014/06/07 职场文书
2014年学生资助工作总结
2014/12/18 职场文书