javascript 通用简单的table选项卡实现

 更新时间:2010年05月07日 17:21:55   作者:  
鉴于UI妹妹每次交付过来的选项卡都夹带了多多少少的js,而且每遇到选项卡就加一点js,造成垃圾低劣代码逐渐堆积过多了,一直想做一个通用简洁的选项卡库。
第一步:引用table.js
复制代码 代码如下:
<script type="text/javascript" src="table.js"> </script>

第二步:定义选中的样式,比如“active”,应用选项卡的块的ID,比如“sidebar”,默认被选中的序号,比如第一个“0”;
第三步:调用函数:
复制代码 代码如下:
<script type="text/javascript">
//参数分别为:默认选择项 应用块的id 选中的样式
table(0, "sidebar", "active")
</script>

一切OK,选项卡响应click事件,兼任IE和FF,等有时间了再优化,效果如下:

HTML源代码如下:
复制代码 代码如下:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Web Project</title>
<script type="text/javascript" src="table.js"> </script>
<style type="text/css">
.sidebar {
width: 140px;
background: #C9E4D6;
min-height: 600px;
float: left;
border-left: solid 1px #C8C8C8;
}
.sidebar ul {
list-style:none;
text-align: left;
padding: 20px 0px 0px 0px;
}
.sidebar ul li {
border-bottom: 1px dotted #C8C8C8;
font-size: 14px;
height: 30px;
line-height: 30px;
padding-left: 15px;
margin-left: 15px;
cursor: pointer;
}
.sidebar .active {
background: #fff;
}
</style>
</head>
<body>
<div class="sidebar" id="sidebar">
<ul>
<li>
选项一
</li>
<li>
选项二
</li>
<li>
选项三
</li>
<li>
选项四
</li>
<li>
选项五
</li>
</ul>
</div>
</body>
<script type="text/javascript">
//参数分别为:默认选择项 应用块的id 选中的样式
table(0, "sidebar", "active")
</script>
</html>

table.js
复制代码 代码如下:

/**
* @author Sky
*/
var table=function(index,id,active)
{
table=new Table(index,id,active);
table.bind();
}
var Table=function(index,id,active)
{
this.index=parseInt(index);
this.arr=document.getElementById(id).getElementsByTagName("li");
this.active=active;
}
Table.prototype={
bind:function()
{
this.arr[this.index].className=this.active;//初始化
var _self=this;
for (var i = 0; i < this.arr.length; i++)
{
this.arr[i].setAttribute("ext", i);
this.arr[i].onclick = function(e)
{
var _e = window.event||e;
var _target=_e.srcElement || _e.target;
_self.setClass(parseInt(_target.getAttribute("ext")));
}
}
},
setClass:function(index)
{
this.arr[this.index].className="";
this.arr[index].className=this.active;
this.index=index;
}
}

DEMO下载

相关文章

  • JavaScript数组排序小程序实现解析

    JavaScript数组排序小程序实现解析

    这篇文章主要介绍了JavaScript数组排序小程序实现解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • 判断输入的字符串是否是日期格式的简单方法

    判断输入的字符串是否是日期格式的简单方法

    下面小编就为大家带来一篇js判断输入的字符串是否是日期格式的简单方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • javascript实现在网页中运行本地程序的方法

    javascript实现在网页中运行本地程序的方法

    这篇文章主要介绍了javascript实现在网页中运行本地程序的方法,实例分析了JavaScript基于ActiveXObject运行本地程序的技巧,需要的朋友可以参考下
    2016-02-02
  • JS原型链怎么理解

    JS原型链怎么理解

    本文重点给大家介绍javascript中的原型链知识,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看下吧
    2016-06-06
  • 使用selenium抓取淘宝的商品信息实例

    使用selenium抓取淘宝的商品信息实例

    下面小编就为大家分享一篇使用selenium抓取淘宝的商品信息实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-02-02
  • JavaScript参数个数可变的函数举例说明

    JavaScript参数个数可变的函数举例说明

    JavaScript允许一个函数传递个数可变的参数,因为有arguments这个内置对象,它一个函数传递的所有参数的数组
    2014-10-10
  • 微信小程序实用代码段(收藏版)

    微信小程序实用代码段(收藏版)

    这篇文章主要介绍了微信小程序实用代码段,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • 情人节专属 纯js脚本1k大小的3D玫瑰效果

    情人节专属 纯js脚本1k大小的3D玫瑰效果

    用代码做出的玫瑰花,这才是牛逼程序员送给女友的最好情人节礼物呢
    2012-02-02
  • JavaScript原型对象原理与应用分析

    JavaScript原型对象原理与应用分析

    这篇文章主要介绍了JavaScript原型对象原理与应用,结合实例形式分析了javascript原型对象的概念、原理、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-12-12
  • javascript中的五种基本数据类型

    javascript中的五种基本数据类型

    在javascript中申明变量使用的关键字都是var,这点与其他的编程语言不尽相同,但是javascript亦含有五种基本的数据类型(也可以说是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。还含有一种复杂数据类型—Object。这里我们不谈复杂数据类型
    2015-08-08

最新评论