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


Posted in Javascript onMay 07, 2010

第一步:引用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,等有时间了再优化,效果如下:
javascript 通用简单的table选项卡实现
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 相关文章推荐
JS 事件绑定函数代码
Apr 28 Javascript
jquery实现倒计时代码分享
Jun 13 Javascript
jQuery实现带滚动导航效果的全屏滚动相册实例
Jun 19 Javascript
JavaScript缓冲运动实现方法(2则示例)
Jan 08 Javascript
jQuery实现的指纹扫描效果实例(附演示与demo源码下载)
Jan 26 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
Javascript中的prototype与继承
Feb 06 Javascript
详解Vue监听数据变化原理
Mar 08 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
Apr 27 Javascript
微信小程序 子级页面返回父级并把子级参数带回父级实现方法
Aug 22 Javascript
p5.js临摹旋转爱心
Oct 23 Javascript
vue与django集成打包的实现方法
Nov 11 Javascript
jQuery 创建Dom元素
May 07 #Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
May 06 #Javascript
jQuery Selector选择器小结
May 06 #Javascript
Jquery 动态添加按钮实现代码
May 06 #Javascript
jquery DOM操作 基于命令改变页面
May 06 #Javascript
JQuery 学习笔记01 JQuery初接触
May 06 #Javascript
Jquery 扩展方法
May 06 #Javascript
You might like
php setcookie函数的参数说明及其用法
2014/04/20 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
JavaScript-世界上误解最深的语言分析
2007/08/12 Javascript
仿163填写邮件地址自动显示下拉(无优化)
2008/11/05 Javascript
javascript call和apply方法
2008/11/24 Javascript
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
JS排序之冒泡排序详解
2017/04/08 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
js实现全选反选不选功能代码详解
2019/04/24 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python计数排序和基数排序算法实例
2014/04/25 Python
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
Linux环境下MySQL-python安装过程分享
2015/02/02 Python
python变量不能以数字打头详解
2016/07/06 Python
Python中操作mysql的pymysql模块详解
2016/09/13 Python
Python实现PS滤镜碎片特效功能示例
2018/01/24 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
2018/10/18 Python
Python内存管理实例分析
2019/07/10 Python
如何在python中实现随机选择
2019/11/02 Python
python wav模块获取采样率 采样点声道量化位数(实例代码)
2020/01/22 Python
python中数据库like模糊查询方式
2020/03/02 Python
python中def是做什么的
2020/06/10 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
产品销售员岗位职责
2013/12/18 职场文书
文明村镇申报材料
2014/05/06 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js